From 09be42084666d9e2a04ec9232dcdabefcd3bd641 Mon Sep 17 00:00:00 2001 From: guardsquare-ci Date: Wed, 17 Jul 2024 15:30:06 +0000 Subject: [PATCH] Deploy documentation to Github pages --- 404.html | 565 + api/allclasses-frame.html | 1256 + api/allclasses-noframe.html | 1256 + api/com/example/SampleClassWithArray.html | 269 + .../SampleClassWithConstantComputation.html | 269 + api/com/example/SampleClassWithObjects.html | 269 + .../SampleClassWithRangeComputation.html | 269 + .../SampleClassWithVariableComputation.html | 271 + api/com/example/package-frame.html | 23 + api/com/example/package-summary.html | 165 + api/com/example/package-tree.html | 138 + api/constant-values.html | 9920 +++++ api/deprecated-list.html | 357 + api/help-doc.html | 222 + api/index-all.html | 36390 ++++++++++++++++ api/index.html | 75 + api/overview-frame.html | 118 + api/overview-summary.html | 589 + api/overview-tree.html | 2030 + api/package-list | 99 + .../analysis/CallResolver.Builder.html | 486 + api/proguard/analysis/CallResolver.html | 572 + api/proguard/analysis/CallVisitor.html | 227 + .../analysis/DominatorCalculator.html | 449 + api/proguard/analysis/Metrics.MetricType.html | 487 + api/proguard/analysis/Metrics.html | 342 + .../analysis/cpa/algorithms/CpaAlgorithm.html | 334 + .../cpa/algorithms/package-frame.html | 19 + .../cpa/algorithms/package-summary.html | 143 + .../analysis/cpa/algorithms/package-tree.html | 134 + api/proguard/analysis/cpa/bam/BamCache.html | 357 + .../analysis/cpa/bam/BamCacheImpl.html | 434 + api/proguard/analysis/cpa/bam/BamCpa.html | 526 + .../cpa/bam/BamLocationDependent.html | 247 + .../analysis/cpa/bam/BamTransferRelation.html | 469 + .../analysis/cpa/bam/BlockAbstraction.html | 301 + .../analysis/cpa/bam/CpaWithBamOperators.html | 397 + .../analysis/cpa/bam/ExpandOperator.html | 249 + .../analysis/cpa/bam/NoOpRebuildOperator.html | 290 + .../analysis/cpa/bam/NoOpReduceOperator.html | 297 + .../analysis/cpa/bam/RebuildOperator.html | 237 + .../analysis/cpa/bam/ReduceOperator.html | 243 + .../analysis/cpa/bam/package-frame.html | 33 + .../analysis/cpa/bam/package-summary.html | 230 + .../analysis/cpa/bam/package-tree.html | 152 + .../defaults/AbstractSingleWrapperState.html | 394 + .../cpa/defaults/AbstractWaitlist.html | 540 + .../cpa/defaults/AbstractWrapperState.html | 326 + .../cpa/defaults/BamCpaRun.Builder.html | 391 + .../analysis/cpa/defaults/BamCpaRun.html | 540 + .../cpa/defaults/BreadthFirstWaitlist.html | 305 + api/proguard/analysis/cpa/defaults/Cfa.html | 504 + .../defaults/ControllableAbortOperator.html | 320 + .../analysis/cpa/defaults/CpaRun.html | 408 + .../cpa/defaults/DefaultReachedSet.html | 404 + .../cpa/defaults/DelegateAbstractDomain.html | 310 + .../cpa/defaults/DepthFirstWaitlist.html | 305 + .../cpa/defaults/DifferentialMap.html | 655 + .../DifferentialMapAbstractState.html | 379 + .../cpa/defaults/HashMapAbstractState.html | 404 + .../cpa/defaults/LatticeAbstractState.html | 280 + .../analysis/cpa/defaults/LimitedHashMap.html | 550 + .../defaults/LimitedHashMapAbstractState.html | 443 + .../cpa/defaults/ListAbstractState.html | 474 + .../cpa/defaults/MapAbstractState.html | 313 + .../analysis/cpa/defaults/MemoryLocation.html | 334 + .../cpa/defaults/MergeJoinOperator.html | 297 + .../cpa/defaults/MergeSepOperator.html | 290 + .../cpa/defaults/NeverAbortOperator.html | 286 + .../defaults/PrecisionAdjustmentResult.html | 298 + .../ProgramLocationDependentReachedSet.html | 406 + ...ialCpaRun.PreviousRunDurationReceiver.html | 229 + .../cpa/defaults/SequentialCpaRun.html | 421 + .../cpa/defaults/SetAbstractState.html | 463 + .../analysis/cpa/defaults/SimpleCpa.html | 422 + .../SingleWrapperTransferRelation.html | 349 + .../cpa/defaults/StackAbstractState.html | 462 + .../defaults/StaticPrecisionAdjustment.html | 288 + .../cpa/defaults/StopAlwaysOperator.html | 290 + .../cpa/defaults/StopContainedOperator.html | 289 + .../cpa/defaults/StopJoinOperator.html | 297 + .../cpa/defaults/StopNeverOperator.html | 290 + .../cpa/defaults/StopSepOperator.html | 297 + .../analysis/cpa/defaults/package-frame.html | 59 + .../cpa/defaults/package-summary.html | 388 + .../analysis/cpa/defaults/package-tree.html | 241 + .../analysis/cpa/domain/taint/TaintSink.html | 404 + .../cpa/domain/taint/TaintSource.html | 419 + .../cpa/domain/taint/package-frame.html | 20 + .../cpa/domain/taint/package-summary.html | 148 + .../cpa/domain/taint/package-tree.html | 135 + .../cpa/interfaces/AbortOperator.html | 229 + .../cpa/interfaces/AbstractDomain.html | 247 + .../cpa/interfaces/AbstractState.html | 296 + .../analysis/cpa/interfaces/Algorithm.html | 250 + .../analysis/cpa/interfaces/CallEdge.html | 226 + .../analysis/cpa/interfaces/CfaEdge.html | 242 + .../analysis/cpa/interfaces/CfaNode.html | 412 + .../ConfigurableProgramAnalysis.html | 306 + .../cpa/interfaces/MergeOperator.html | 235 + .../analysis/cpa/interfaces/Precision.html | 165 + .../cpa/interfaces/PrecisionAdjustment.html | 233 + .../interfaces/ProgramLocationDependent.html | 244 + ...tionDependentBackwardTransferRelation.html | 236 + ...ationDependentForwardTransferRelation.html | 240 + ...gramLocationDependentTransferRelation.html | 291 + .../analysis/cpa/interfaces/ReachedSet.html | 306 + .../analysis/cpa/interfaces/StopOperator.html | 233 + .../cpa/interfaces/TransferRelation.html | 232 + .../analysis/cpa/interfaces/Waitlist.html | 366 + .../interfaces/WrapperTransferRelation.html | 238 + .../cpa/interfaces/package-frame.html | 38 + .../cpa/interfaces/package-summary.html | 262 + .../analysis/cpa/interfaces/package-tree.html | 159 + api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html | 515 + .../jvm/cfa/edges/JvmAssumeCaseCfaEdge.html | 345 + .../cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html | 346 + .../cfa/edges/JvmAssumeDefaultCfaEdge.html | 302 + .../cfa/edges/JvmAssumeExceptionCfaEdge.html | 348 + .../cpa/jvm/cfa/edges/JvmCallCfaEdge.html | 350 + .../cpa/jvm/cfa/edges/JvmCfaEdge.html | 382 + .../jvm/cfa/edges/JvmInstructionCfaEdge.html | 349 + .../cpa/jvm/cfa/edges/package-frame.html | 25 + .../cpa/jvm/cfa/edges/package-summary.html | 180 + .../cpa/jvm/cfa/edges/package-tree.html | 146 + .../cpa/jvm/cfa/nodes/JvmCatchCfaNode.html | 383 + .../cpa/jvm/cfa/nodes/JvmCfaNode.html | 639 + .../cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html | 339 + .../cpa/jvm/cfa/nodes/package-frame.html | 21 + .../cpa/jvm/cfa/nodes/package-summary.html | 154 + .../cpa/jvm/cfa/nodes/package-tree.html | 139 + .../analysis/cpa/jvm/cfa/package-frame.html | 19 + .../analysis/cpa/jvm/cfa/package-summary.html | 141 + .../analysis/cpa/jvm/cfa/package-tree.html | 138 + ...ceduralCfaFillerAllInstructionVisitor.html | 328 + .../cpa/jvm/cfa/visitors/package-frame.html | 19 + .../cpa/jvm/cfa/visitors/package-summary.html | 142 + .../cpa/jvm/cfa/visitors/package-tree.html | 134 + ...BamLocationDependentJvmMemoryLocation.html | 443 + ...emoryLocationAbstractState.StackEntry.html | 360 + .../JvmMemoryLocationAbstractState.html | 741 + .../memory/JvmMemoryLocationBamCpaRun.html | 473 + .../domain/memory/JvmMemoryLocationCpa.html | 259 + .../JvmMemoryLocationMergeJoinOperator.html | 298 + .../JvmMemoryLocationTransferRelation.html | 350 + .../cpa/jvm/domain/memory/TraceExtractor.html | 287 + .../cpa/jvm/domain/memory/package-frame.html | 29 + .../jvm/domain/memory/package-summary.html | 197 + .../cpa/jvm/domain/memory/package-tree.html | 156 + .../CompositeHeapJvmAbstractState.html | 516 + .../CompositeHeapTransferRelation.html | 345 + .../JvmCompositeHeapExpandOperator.html | 346 + .../JvmCompositeHeapReduceOperator.html | 305 + .../reference/JvmReferenceAbstractState.html | 444 + .../reference/JvmReferenceExpandOperator.html | 325 + .../reference/JvmReferenceReduceOperator.html | 348 + .../JvmReferenceTransferRelation.html | 439 + .../cpa/jvm/domain/reference/Reference.html | 373 + .../jvm/domain/reference/package-frame.html | 27 + .../jvm/domain/reference/package-summary.html | 194 + .../jvm/domain/reference/package-tree.html | 162 + ...sicTaintTreeHeapFollowerAbstractState.html | 422 + .../taint/JvmInvokeTaintSink.Builder.html | 469 + .../jvm/domain/taint/JvmInvokeTaintSink.html | 558 + .../jvm/domain/taint/JvmReturnTaintSink.html | 394 + .../domain/taint/JvmTaintAbstractState.html | 384 + .../taint/JvmTaintBamCpaRun.Builder.html | 675 + .../jvm/domain/taint/JvmTaintBamCpaRun.html | 499 + .../cpa/jvm/domain/taint/JvmTaintCpa.html | 344 + .../domain/taint/JvmTaintExpandOperator.html | 415 + .../taint/JvmTaintHeapAbstractState.html | 230 + ...mTaintMemoryLocationBamCpaRun.Builder.html | 543 + .../JvmTaintMemoryLocationBamCpaRun.html | 511 + .../domain/taint/JvmTaintReduceOperator.html | 303 + .../cpa/jvm/domain/taint/JvmTaintSink.html | 387 + .../cpa/jvm/domain/taint/JvmTaintSource.html | 444 + ...lation.InstructionAbstractInterpreter.html | 351 + .../taint/JvmTaintTransferRelation.html | 421 + .../jvm/domain/taint/JvmTaintTransformer.html | 233 + ...JvmTaintTreeHeapFollowerAbstractState.html | 508 + .../cpa/jvm/domain/taint/package-frame.html | 39 + .../cpa/jvm/domain/taint/package-summary.html | 262 + .../cpa/jvm/domain/taint/package-tree.html | 226 + .../value/JvmCfaReferenceValueFactory.html | 396 + .../domain/value/JvmValueAbstractState.html | 539 + .../value/JvmValueBamCpaRun.Builder.html | 459 + ...alueBamCpaRun.TransferRelationFactory.html | 224 + .../jvm/domain/value/JvmValueBamCpaRun.html | 457 + .../domain/value/JvmValueExpandOperator.html | 317 + .../domain/value/JvmValueReduceOperator.html | 342 + .../value/JvmValueTransferRelation.html | 696 + .../jvm/domain/value/ValueAbstractState.html | 461 + .../cpa/jvm/domain/value/package-frame.html | 30 + .../cpa/jvm/domain/value/package-summary.html | 194 + .../cpa/jvm/domain/value/package-tree.html | 193 + .../operators/JvmDefaultExpandOperator.html | 385 + .../operators/JvmDefaultReduceOperator.html | 376 + .../cpa/jvm/operators/package-frame.html | 20 + .../cpa/jvm/operators/package-summary.html | 147 + .../cpa/jvm/operators/package-tree.html | 135 + .../cpa/jvm/state/JvmAbstractState.html | 1019 + .../jvm/state/JvmAbstractStateFactory.html | 232 + .../cpa/jvm/state/JvmFrameAbstractState.html | 634 + .../cpa/jvm/state/heap/HeapModel.html | 375 + .../heap/JvmForgetfulHeapAbstractState.html | 558 + .../jvm/state/heap/JvmHeapAbstractState.html | 452 + .../cpa/jvm/state/heap/package-frame.html | 27 + .../cpa/jvm/state/heap/package-summary.html | 176 + .../cpa/jvm/state/heap/package-tree.html | 158 + .../cpa/jvm/state/heap/tree/HeapNode.html | 638 + .../tree/JvmShallowHeapAbstractState.html | 676 + .../heap/tree/JvmTreeHeapAbstractState.html | 615 + .../JvmTreeHeapFollowerAbstractState.html | 587 + .../JvmTreeHeapPrincipalAbstractState.html | 534 + .../jvm/state/heap/tree/package-frame.html | 23 + .../jvm/state/heap/tree/package-summary.html | 166 + .../cpa/jvm/state/heap/tree/package-tree.html | 141 + .../analysis/cpa/jvm/state/package-frame.html | 24 + .../cpa/jvm/state/package-summary.html | 166 + .../analysis/cpa/jvm/state/package-tree.html | 139 + ...lation.InstructionAbstractInterpreter.html | 457 + .../cpa/jvm/transfer/JvmTransferRelation.html | 659 + .../cpa/jvm/transfer/package-frame.html | 19 + .../cpa/jvm/transfer/package-summary.html | 142 + .../cpa/jvm/transfer/package-tree.html | 135 + .../analysis/cpa/jvm/util/CfaUtil.html | 521 + .../cpa/jvm/util/ConstantLookupVisitor.html | 395 + .../analysis/cpa/jvm/util/HeapUtil.html | 280 + .../cpa/jvm/util/InstructionClassifier.html | 311 + .../cpa/jvm/util/JvmBamCpaRun.Builder.html | 441 + .../analysis/cpa/jvm/util/JvmBamCpaRun.html | 478 + .../analysis/cpa/jvm/util/package-frame.html | 24 + .../cpa/jvm/util/package-summary.html | 172 + .../analysis/cpa/jvm/util/package-tree.html | 151 + .../cpa/jvm/witness/JvmHeapLocation.html | 403 + .../jvm/witness/JvmLocalVariableLocation.html | 388 + .../cpa/jvm/witness/JvmMemoryLocation.html | 251 + .../cpa/jvm/witness/JvmStackLocation.html | 405 + .../jvm/witness/JvmStaticFieldLocation.html | 388 + .../cpa/jvm/witness/package-frame.html | 23 + .../cpa/jvm/witness/package-summary.html | 165 + .../cpa/jvm/witness/package-tree.html | 145 + .../DifferentialMapAbstractStateFactory.html | 289 + .../state/HashMapAbstractStateFactory.html | 261 + .../LimitedHashMapAbstractStateFactory.html | 282 + .../cpa/state/MapAbstractStateFactory.html | 226 + .../analysis/cpa/state/package-frame.html | 25 + .../analysis/cpa/state/package-summary.html | 170 + .../analysis/cpa/state/package-tree.html | 140 + .../analysis/cpa/util/StateNames.html | 234 + .../analysis/cpa/util/TriFunction.html | 233 + .../analysis/cpa/util/TriPredicate.html | 281 + .../analysis/cpa/util/package-frame.html | 21 + .../analysis/cpa/util/package-summary.html | 153 + .../analysis/cpa/util/package-tree.html | 132 + .../analysis/datastructure/CodeLocation.html | 516 + .../analysis/datastructure/FileLocation.html | 440 + .../analysis/datastructure/Location.html | 346 + .../datastructure/callgraph/Call.html | 691 + .../datastructure/callgraph/CallGraph.html | 492 + .../datastructure/callgraph/ConcreteCall.html | 444 + .../callgraph/EntryPoint.Type.html | 366 + .../datastructure/callgraph/EntryPoint.html | 516 + .../datastructure/callgraph/Node.html | 548 + .../datastructure/callgraph/SymbolicCall.html | 369 + .../callgraph/package-frame.html | 28 + .../callgraph/package-summary.html | 187 + .../datastructure/callgraph/package-tree.html | 154 + .../analysis/datastructure/package-frame.html | 21 + .../datastructure/package-summary.html | 154 + .../analysis/datastructure/package-tree.html | 139 + api/proguard/analysis/package-frame.html | 30 + api/proguard/analysis/package-summary.html | 193 + api/proguard/analysis/package-tree.html | 153 + api/proguard/backport/LambdaExpression.html | 633 + .../backport/LambdaExpressionCollector.html | 452 + api/proguard/backport/package-frame.html | 20 + api/proguard/backport/package-summary.html | 148 + api/proguard/backport/package-tree.html | 135 + api/proguard/classfile/AccessConstants.html | 836 + api/proguard/classfile/ClassConstants.html | 5392 +++ api/proguard/classfile/ClassPool.html | 683 + api/proguard/classfile/ClassSignature.html | 395 + api/proguard/classfile/Clazz.html | 976 + api/proguard/classfile/Field.html | 202 + api/proguard/classfile/FieldSignature.html | 462 + .../classfile/JavaAccessConstants.html | 653 + api/proguard/classfile/JavaConstants.html | 568 + api/proguard/classfile/JavaTypeConstants.html | 552 + .../classfile/JavaVersionConstants.html | 738 + api/proguard/classfile/LibraryClass.html | 1597 + api/proguard/classfile/LibraryField.html | 424 + api/proguard/classfile/LibraryMember.html | 493 + api/proguard/classfile/LibraryMethod.html | 425 + api/proguard/classfile/Member.html | 308 + api/proguard/classfile/Method.html | 202 + api/proguard/classfile/MethodDescriptor.html | 518 + api/proguard/classfile/MethodInfo.html | 244 + api/proguard/classfile/MethodSignature.html | 653 + api/proguard/classfile/ProgramClass.html | 1698 + api/proguard/classfile/ProgramField.html | 528 + api/proguard/classfile/ProgramMember.html | 569 + api/proguard/classfile/ProgramMethod.html | 529 + api/proguard/classfile/Signature.html | 656 + api/proguard/classfile/TypeConstants.html | 632 + api/proguard/classfile/VersionConstants.html | 1431 + .../classfile/attribute/Attribute.html | 1056 + .../attribute/BootstrapMethodInfo.html | 454 + .../attribute/BootstrapMethodsAttribute.html | 434 + .../classfile/attribute/CodeAttribute.html | 700 + .../attribute/ConstantValueAttribute.html | 383 + .../attribute/DeprecatedAttribute.html | 401 + .../attribute/EnclosingMethodAttribute.html | 510 + .../classfile/attribute/ExceptionInfo.html | 416 + .../attribute/ExceptionsAttribute.html | 416 + .../attribute/ExtendedLineNumberInfo.html | 351 + .../attribute/InnerClassesAttribute.html | 414 + .../classfile/attribute/InnerClassesInfo.html | 436 + .../classfile/attribute/LineNumberInfo.html | 347 + .../attribute/LineNumberTableAttribute.html | 506 + .../attribute/LocalVariableInfo.html | 480 + .../LocalVariableTableAttribute.html | 422 + .../attribute/LocalVariableTypeInfo.html | 480 + .../LocalVariableTypeTableAttribute.html | 422 + .../attribute/MethodParametersAttribute.html | 418 + .../attribute/NestHostAttribute.html | 397 + .../attribute/NestMembersAttribute.html | 414 + .../classfile/attribute/ParameterInfo.html | 388 + .../PermittedSubclassesAttribute.html | 414 + .../classfile/attribute/RecordAttribute.html | 414 + .../attribute/RecordComponentInfo.html | 467 + .../attribute/SignatureAttribute.html | 507 + .../SourceDebugExtensionAttribute.html | 396 + .../attribute/SourceDirAttribute.html | 381 + .../attribute/SourceFileAttribute.html | 381 + .../attribute/SyntheticAttribute.html | 401 + .../classfile/attribute/UnknownAttribute.html | 475 + .../attribute/annotation/Annotation.html | 474 + .../AnnotationDefaultAttribute.html | 401 + .../annotation/AnnotationElementValue.html | 422 + .../annotation/AnnotationsAttribute.html | 524 + .../annotation/ArrayElementValue.html | 461 + .../annotation/ClassElementValue.html | 454 + .../annotation/ConstantElementValue.html | 419 + .../attribute/annotation/ElementValue.html | 538 + .../annotation/EnumConstantElementValue.html | 517 + .../ParameterAnnotationsAttribute.html | 415 + .../RuntimeInvisibleAnnotationsAttribute.html | 449 + ...nvisibleParameterAnnotationsAttribute.html | 378 + ...timeInvisibleTypeAnnotationsAttribute.html | 488 + .../RuntimeVisibleAnnotationsAttribute.html | 449 + ...eVisibleParameterAnnotationsAttribute.html | 378 + ...untimeVisibleTypeAnnotationsAttribute.html | 488 + .../attribute/annotation/TypeAnnotation.html | 539 + .../annotation/TypeAnnotationsAttribute.html | 438 + .../attribute/annotation/TypePathInfo.html | 372 + .../attribute/annotation/package-frame.html | 37 + .../attribute/annotation/package-summary.html | 261 + .../attribute/annotation/package-tree.html | 175 + .../annotation/target/CatchTargetInfo.html | 399 + .../annotation/target/EmptyTargetInfo.html | 379 + .../target/FormalParameterTargetInfo.html | 397 + .../target/LocalVariableTargetElement.html | 319 + .../target/LocalVariableTargetInfo.html | 438 + .../annotation/target/OffsetTargetInfo.html | 399 + .../target/SuperTypeTargetInfo.html | 388 + .../annotation/target/TargetInfo.html | 795 + .../annotation/target/ThrowsTargetInfo.html | 397 + .../target/TypeArgumentTargetInfo.html | 414 + .../target/TypeParameterBoundTargetInfo.html | 440 + .../target/TypeParameterTargetInfo.html | 398 + .../annotation/target/package-frame.html | 30 + .../annotation/target/package-summary.html | 216 + .../annotation/target/package-tree.html | 148 + .../LocalVariableTargetElementVisitor.html | 234 + .../target/visitor/TargetInfoVisitor.html | 537 + .../target/visitor/package-frame.html | 20 + .../target/visitor/package-summary.html | 157 + .../target/visitor/package-tree.html | 131 + .../visitor/AllAnnotationVisitor.html | 616 + .../visitor/AllElementValueVisitor.html | 723 + .../AnnotationToAnnotatedClassVisitor.html | 293 + .../AnnotationToAnnotatedMemberVisitor.html | 291 + .../visitor/AnnotationTypeFilter.html | 440 + .../annotation/visitor/AnnotationVisitor.html | 320 + .../visitor/ElementValueVisitor.html | 316 + .../visitor/MultiAnnotationVisitor.html | 406 + .../visitor/TypeAnnotationVisitor.html | 320 + .../visitor/TypePathInfoVisitor.html | 311 + .../annotation/visitor/package-frame.html | 31 + .../annotation/visitor/package-summary.html | 219 + .../annotation/visitor/package-tree.html | 146 + .../attribute/module/ExportsInfo.html | 418 + .../attribute/module/ModuleAttribute.html | 687 + .../module/ModuleMainClassAttribute.html | 415 + .../module/ModulePackagesAttribute.html | 414 + .../classfile/attribute/module/OpensInfo.html | 418 + .../attribute/module/ProvidesInfo.html | 403 + .../attribute/module/RequiresInfo.html | 403 + .../attribute/module/package-frame.html | 25 + .../attribute/module/package-summary.html | 188 + .../attribute/module/package-tree.html | 148 + .../module/visitor/AllExportsInfoVisitor.html | 311 + .../module/visitor/AllOpensInfoVisitor.html | 312 + .../visitor/AllProvidesInfoVisitor.html | 311 + .../visitor/AllRequiresInfoVisitor.html | 311 + .../module/visitor/ExportsInfoVisitor.html | 227 + .../module/visitor/OpensInfoVisitor.html | 227 + .../module/visitor/ProvidesInfoVisitor.html | 227 + .../module/visitor/RequiresInfoVisitor.html | 227 + .../module/visitor/package-frame.html | 29 + .../module/visitor/package-summary.html | 204 + .../module/visitor/package-tree.html | 144 + .../classfile/attribute/package-frame.html | 49 + .../classfile/attribute/package-summary.html | 331 + .../classfile/attribute/package-tree.html | 174 + .../attribute/preverification/DoubleType.html | 441 + .../attribute/preverification/FloatType.html | 441 + .../attribute/preverification/FullFrame.html | 571 + .../preverification/IntegerType.html | 441 + .../preverification/LessZeroFrame.html | 472 + .../attribute/preverification/LongType.html | 441 + .../preverification/MoreZeroFrame.html | 526 + .../attribute/preverification/NullType.html | 441 + .../attribute/preverification/ObjectType.html | 514 + .../preverification/SameOneFrame.html | 497 + .../preverification/SameZeroFrame.html | 395 + .../preverification/StackMapAttribute.html | 435 + .../preverification/StackMapFrame.html | 550 + .../StackMapTableAttribute.html | 435 + .../attribute/preverification/TopType.html | 441 + .../UninitializedThisType.html | 441 + .../preverification/UninitializedType.html | 514 + .../preverification/VerificationType.html | 592 + .../VerificationTypeFactory.html | 400 + .../preverification/package-frame.html | 37 + .../preverification/package-summary.html | 259 + .../preverification/package-tree.html | 166 + .../visitor/StackMapFrameVisitor.html | 340 + .../visitor/VerificationTypeVisitor.html | 839 + .../visitor/package-frame.html | 20 + .../visitor/package-summary.html | 156 + .../preverification/visitor/package-tree.html | 131 + .../visitor/AllAttributeVisitor.html | 473 + .../AllBootstrapMethodInfoVisitor.html | 312 + .../visitor/AllExceptionInfoVisitor.html | 314 + .../visitor/AllInnerClassesInfoVisitor.html | 311 + .../visitor/AllLineNumberInfoVisitor.html | 316 + .../AllRecordComponentInfoVisitor.html | 311 + .../visitor/AttributeConstantVisitor.html | 321 + .../attribute/visitor/AttributeCounter.html | 312 + .../visitor/AttributeNameFilter.html | 1430 + .../AttributeProcessingFlagFilter.html | 327 + .../visitor/AttributeToClassVisitor.html | 295 + .../attribute/visitor/AttributeVisitor.html | 1301 + .../visitor/BootstrapMethodInfoVisitor.html | 227 + .../visitor/CodeAttributeToMethodVisitor.html | 317 + .../visitor/DebugAttributeVisitor.html | 1442 + .../visitor/ExceptionInfoVisitor.html | 231 + .../visitor/InnerClassesInfoVisitor.html | 227 + .../InstructionToAttributeVisitor.html | 301 + .../visitor/LineNumberInfoVisitor.html | 231 + .../visitor/LineNumberRangeFinder.html | 333 + .../visitor/LocalVariableInfoVisitor.html | 231 + .../visitor/LocalVariableTypeInfoVisitor.html | 231 + ...axStackSizeComputer.StackSizeConsumer.html | 227 + .../visitor/MaxStackSizeComputer.html | 593 + .../visitor/MultiAttributeVisitor.html | 1400 + .../visitor/NonEmptyAttributeFilter.html | 1383 + .../visitor/ParameterInfoVisitor.html | 231 + .../visitor/RecordComponentInfoVisitor.html | 227 + .../visitor/RequiredAttributeFilter.html | 1406 + .../visitor/SingleTimeAttributeVisitor.html | 1378 + .../attribute/visitor/StackSizeComputer.html | 390 + .../attribute/visitor/package-frame.html | 52 + .../attribute/visitor/package-summary.html | 357 + .../attribute/visitor/package-tree.html | 167 + .../constant/AnyMethodrefConstant.html | 433 + .../classfile/constant/ClassConstant.html | 539 + api/proguard/classfile/constant/Constant.html | 668 + .../classfile/constant/DoubleConstant.html | 498 + .../classfile/constant/DynamicConstant.html | 606 + .../classfile/constant/FieldrefConstant.html | 504 + .../classfile/constant/FloatConstant.html | 498 + .../classfile/constant/IntegerConstant.html | 498 + .../constant/InterfaceMethodrefConstant.html | 455 + .../constant/InvokeDynamicConstant.html | 606 + .../classfile/constant/LongConstant.html | 498 + .../constant/MethodHandleConstant.html | 760 + .../constant/MethodTypeConstant.html | 556 + .../classfile/constant/MethodrefConstant.html | 455 + .../classfile/constant/ModuleConstant.html | 486 + .../constant/NameAndTypeConstant.html | 582 + .../classfile/constant/PackageConstant.html | 486 + .../constant/PrimitiveArrayConstant.html | 551 + .../classfile/constant/RefConstant.html | 556 + .../classfile/constant/StringConstant.html | 683 + .../classfile/constant/Utf8Constant.html | 502 + .../classfile/constant/package-frame.html | 39 + .../classfile/constant/package-summary.html | 272 + .../classfile/constant/package-tree.html | 167 + .../AllBootstrapMethodArgumentVisitor.html | 286 + .../constant/visitor/AllConstantVisitor.html | 308 + .../BootstrapMethodHandleTraveler.html | 404 + .../constant/visitor/ConstantCounter.html | 312 + .../visitor/ConstantStringBuilder.html | 642 + .../constant/visitor/ConstantTagFilter.html | 324 + .../constant/visitor/ConstantVisitor.html | 541 + .../visitor/ExceptClassConstantFilter.html | 297 + .../constant/visitor/MethodrefTraveler.html | 315 + .../PrimitiveArrayConstantElementVisitor.html | 383 + .../PrimitiveArrayConstantVisitor.html | 364 + .../visitor/SuperClassConstantVisitor.html | 315 + .../constant/visitor/package-frame.html | 33 + .../constant/visitor/package-summary.html | 235 + .../constant/visitor/package-tree.html | 148 + .../classfile/editor/AccessFixer.html | 308 + .../classfile/editor/AnnotationAdder.html | 361 + .../editor/AnnotationsAttributeEditor.html | 310 + .../classfile/editor/AttributeAdder.html | 880 + .../classfile/editor/AttributeSorter.html | 412 + .../classfile/editor/AttributesEditor.html | 351 + .../editor/BootstrapMethodInfoAdder.html | 304 + .../editor/BootstrapMethodRemapper.html | 359 + .../BootstrapMethodsAttributeAdder.html | 302 + .../BootstrapMethodsAttributeEditor.html | 298 + .../BootstrapMethodsAttributeShrinker.html | 490 + .../classfile/editor/BridgeMethodFixer.html | 435 + .../editor/ClassBuilder.CodeBuilder.html | 223 + .../classfile/editor/ClassBuilder.html | 785 + .../classfile/editor/ClassEditor.html | 358 + .../classfile/editor/ClassElementSorter.html | 329 + .../classfile/editor/ClassEstimates.html | 429 + .../classfile/editor/ClassMemberSorter.html | 334 + ...ReferenceFixer.NameGenerationStrategy.html | 242 + .../classfile/editor/ClassReferenceFixer.html | 1075 + .../editor/CodeAttributeComposer.html | 1484 + .../editor/CodeAttributeEditor.Label.html | 534 + .../classfile/editor/CodeAttributeEditor.html | 1707 + .../editor/CodeAttributeEditorResetter.html | 321 + .../CompactCodeAttributeComposer.Label.html | 199 + .../editor/CompactCodeAttributeComposer.html | 5205 +++ .../classfile/editor/ConstantAdder.html | 671 + .../classfile/editor/ConstantPoolEditor.html | 1356 + .../editor/ConstantPoolRemapper.html | 1961 + .../editor/ConstantPoolShrinker.html | 1688 + .../classfile/editor/ConstantPoolSorter.html | 309 + .../classfile/editor/ElementValueAdder.html | 423 + .../classfile/editor/ElementValuesEditor.html | 318 + .../classfile/editor/ExceptionAdder.html | 293 + .../classfile/editor/ExceptionInfoAdder.html | 290 + .../classfile/editor/ExceptionInfoEditor.html | 276 + .../editor/ExceptionsAttributeEditor.html | 278 + .../editor/InitializerEditor.CodeBuilder.html | 223 + .../classfile/editor/InitializerEditor.html | 452 + .../editor/InnerClassesAccessFixer.html | 377 + .../editor/InnerClassesAttributeEditor.html | 298 + .../classfile/editor/InstructionAdder.html | 329 + .../editor/InstructionSequenceBuilder.html | 5362 +++ .../InstructionSequenceReplacer.Label.html | 493 + .../editor/InstructionSequenceReplacer.html | 1369 + .../editor/InstructionSequencesReplacer.html | 321 + .../classfile/editor/InstructionWriter.html | 470 + .../classfile/editor/InterfaceAdder.html | 290 + .../classfile/editor/InterfaceDeleter.html | 370 + .../classfile/editor/InterfaceSorter.html | 357 + .../classfile/editor/InterfacesEditor.html | 292 + .../classfile/editor/LibraryClassBuilder.html | 622 + .../classfile/editor/LibraryClassEditor.html | 360 + .../classfile/editor/LineNumberInfoAdder.html | 345 + .../LineNumberTableAttributeEditor.html | 278 + .../LineNumberTableAttributeTrimmer.html | 315 + .../editor/LocalVariableInfoAdder.html | 292 + .../LocalVariableTableAttributeEditor.html | 278 + .../editor/LocalVariableTypeInfoAdder.html | 292 + ...LocalVariableTypeTableAttributeEditor.html | 278 + .../classfile/editor/MemberAdder.html | 382 + .../editor/MemberReferenceFixer.html | 791 + .../classfile/editor/MemberRemover.html | 392 + .../classfile/editor/MethodCopier.html | 451 + .../editor/MethodInvocationFixer.html | 450 + .../classfile/editor/NameAndTypeShrinker.html | 432 + .../editor/NamedAttributeDeleter.html | 405 + .../classfile/editor/NestMemberAdder.html | 346 + .../ParameterAnnotationsAttributeEditor.html | 316 + .../classfile/editor/ParameterInfoAdder.html | 292 + .../classfile/editor/PeepholeEditor.html | 353 + .../editor/PermittedSubclassAdder.html | 348 + .../classfile/editor/StackSizeUpdater.html | 314 + .../classfile/editor/SubclassAdder.html | 294 + .../classfile/editor/SubclassRemover.html | 294 + .../classfile/editor/SubclassToAdder.html | 294 + .../classfile/editor/TargetInfoCopier.html | 508 + .../classfile/editor/TypeAnnotationAdder.html | 319 + .../classfile/editor/Utf8Shrinker.html | 1252 + .../classfile/editor/VariableCleaner.html | 361 + .../classfile/editor/VariableEditor.html | 370 + .../classfile/editor/VariableRemapper.html | 646 + .../classfile/editor/VariableSizeUpdater.html | 376 + .../classfile/editor/package-frame.html | 103 + .../classfile/editor/package-summary.html | 696 + .../classfile/editor/package-tree.html | 227 + .../exception/NegativeStackSizeException.html | 355 + .../classfile/exception/package-frame.html | 19 + .../classfile/exception/package-summary.html | 139 + .../classfile/exception/package-tree.html | 150 + .../instruction/BranchInstruction.html | 567 + .../instruction/ConstantInstruction.html | 1019 + .../classfile/instruction/Instruction.html | 4489 ++ .../instruction/InstructionFactory.html | 308 + .../instruction/InstructionUtil.html | 337 + .../instruction/LookUpSwitchInstruction.html | 530 + .../instruction/SimpleInstruction.html | 601 + .../instruction/SwitchInstruction.html | 445 + .../instruction/TableSwitchInstruction.html | 545 + .../instruction/VariableInstruction.html | 665 + .../classfile/instruction/package-frame.html | 28 + .../instruction/package-summary.html | 212 + .../classfile/instruction/package-tree.html | 149 + .../visitor/AllInstructionVisitor.html | 314 + .../visitor/InstructionConstantVisitor.html | 331 + .../visitor/InstructionCounter.html | 319 + .../visitor/InstructionOpCodeFilter.html | 317 + .../visitor/InstructionVisitor.html | 386 + .../visitor/MultiInstructionVisitor.html | 448 + .../instruction/visitor/package-frame.html | 27 + .../instruction/visitor/package-summary.html | 195 + .../instruction/visitor/package-tree.html | 142 + ...er.KotlinMetadataElementValueConsumer.html | 234 + .../classfile/io/LibraryClassReader.html | 716 + .../classfile/io/ProgramClassReader.html | 2274 + .../classfile/io/ProgramClassWriter.html | 437 + .../io/kotlin/KotlinMetadataWriter.html | 469 + .../classfile/io/kotlin/package-frame.html | 19 + .../classfile/io/kotlin/package-summary.html | 142 + .../classfile/io/kotlin/package-tree.html | 134 + api/proguard/classfile/io/package-frame.html | 25 + .../classfile/io/package-summary.html | 180 + api/proguard/classfile/io/package-tree.html | 140 + .../ProcessingFlagDataEntryFilter.html | 291 + .../classfile/io/visitor/package-frame.html | 19 + .../classfile/io/visitor/package-summary.html | 142 + .../classfile/io/visitor/package-tree.html | 134 + .../classfile/kotlin/KotlinAnnotatable.html | 229 + .../classfile/kotlin/KotlinAnnotation.html | 515 + ...linAnnotationArgument.AnnotationValue.html | 393 + .../KotlinAnnotationArgument.ArrayValue.html | 397 + ...KotlinAnnotationArgument.BooleanValue.html | 317 + .../KotlinAnnotationArgument.ByteValue.html | 317 + .../KotlinAnnotationArgument.CharValue.html | 317 + .../KotlinAnnotationArgument.ClassValue.html | 429 + .../KotlinAnnotationArgument.DoubleValue.html | 317 + .../KotlinAnnotationArgument.EnumValue.html | 417 + .../KotlinAnnotationArgument.FloatValue.html | 317 + .../KotlinAnnotationArgument.IntValue.html | 317 + ...KotlinAnnotationArgument.LiteralValue.html | 382 + .../KotlinAnnotationArgument.LongValue.html | 317 + .../KotlinAnnotationArgument.ShortValue.html | 317 + .../KotlinAnnotationArgument.StringValue.html | 317 + .../KotlinAnnotationArgument.UByteValue.html | 317 + .../KotlinAnnotationArgument.UIntValue.html | 317 + .../KotlinAnnotationArgument.ULongValue.html | 317 + .../KotlinAnnotationArgument.UShortValue.html | 317 + .../KotlinAnnotationArgument.Value.html | 234 + .../kotlin/KotlinAnnotationArgument.html | 529 + .../kotlin/KotlinClassKindMetadata.html | 808 + .../kotlin/KotlinConstants.MODULE.html | 295 + .../kotlin/KotlinConstants.REFLECTION.html | 550 + .../classfile/kotlin/KotlinConstants.html | 928 + .../kotlin/KotlinConstructorMetadata.html | 474 + .../kotlin/KotlinContractMetadata.html | 381 + .../KotlinDeclarationContainerMetadata.html | 528 + .../KotlinEffectExpressionMetadata.html | 470 + .../kotlin/KotlinEffectMetadata.html | 435 + .../kotlin/KotlinFileFacadeKindMetadata.html | 363 + .../kotlin/KotlinFunctionMetadata.html | 777 + .../classfile/kotlin/KotlinMetadata.html | 434 + .../kotlin/KotlinMetadataVersion.html | 394 + .../KotlinMultiFileFacadeKindMetadata.html | 387 + .../KotlinMultiFilePartKindMetadata.html | 404 + .../kotlin/KotlinPropertyMetadata.html | 746 + ...tlinSyntheticClassKindMetadata.Flavor.html | 366 + .../KotlinSyntheticClassKindMetadata.html | 447 + .../kotlin/KotlinTypeAliasMetadata.html | 540 + .../classfile/kotlin/KotlinTypeMetadata.html | 723 + .../kotlin/KotlinTypeParameterMetadata.html | 522 + .../classfile/kotlin/KotlinTypeVariance.html | 363 + .../kotlin/KotlinValueParameterMetadata.html | 526 + .../KotlinVersionRequirementMetadata.html | 514 + .../kotlin/UnsupportedKotlinMetadata.html | 330 + .../kotlin/flags/KotlinClassFlags.html | 554 + .../kotlin/flags/KotlinCommonFlags.html | 281 + .../kotlin/flags/KotlinConstructorFlags.html | 326 + .../flags/KotlinEffectExpressionFlags.html | 301 + .../classfile/kotlin/flags/KotlinFlags.html | 171 + .../kotlin/flags/KotlinFunctionFlags.html | 492 + .../kotlin/flags/KotlinModalityFlags.html | 326 + .../flags/KotlinPropertyAccessorFlags.html | 356 + .../kotlin/flags/KotlinPropertyFlags.html | 516 + .../kotlin/flags/KotlinTypeAliasFlags.html | 288 + .../kotlin/flags/KotlinTypeFlags.html | 314 + .../flags/KotlinTypeParameterFlags.html | 279 + .../flags/KotlinValueParameterFlags.html | 333 + .../kotlin/flags/KotlinVisibilityFlags.html | 366 + .../classfile/kotlin/flags/package-frame.html | 35 + .../kotlin/flags/package-summary.html | 224 + .../classfile/kotlin/flags/package-tree.html | 150 + .../classfile/kotlin/package-frame.html | 71 + .../classfile/kotlin/package-summary.html | 358 + .../classfile/kotlin/package-tree.html | 207 + .../kotlin/reflect/CallableReferenceInfo.html | 303 + .../kotlin/reflect/FunctionReferenceInfo.html | 374 + .../reflect/JavaFieldReferenceInfo.html | 316 + .../reflect/JavaMethodReferenceInfo.html | 269 + .../kotlin/reflect/JavaReferenceInfo.html | 427 + .../reflect/LocalVariableReferenceInfo.html | 376 + .../kotlin/reflect/PropertyReferenceInfo.html | 378 + .../kotlin/reflect/package-frame.html | 28 + .../kotlin/reflect/package-summary.html | 180 + .../kotlin/reflect/package-tree.html | 146 + ...LocalVariableReferenceInfoInitializer.html | 275 + ...izer.OptimizedCallableReferenceFilter.html | 295 + .../KotlinCallableReferenceInitializer.html | 336 + .../kotlin/reflect/util/package-frame.html | 21 + .../kotlin/reflect/util/package-summary.html | 151 + .../kotlin/reflect/util/package-tree.html | 136 + .../CallableReferenceInfoToOwnerVisitor.html | 284 + .../visitor/CallableReferenceInfoVisitor.html | 274 + .../kotlin/reflect/visitor/package-frame.html | 23 + .../reflect/visitor/package-summary.html | 154 + .../kotlin/reflect/visitor/package-tree.html | 138 + .../kotlin/visitor/AllConstructorVisitor.html | 307 + .../kotlin/visitor/AllFunctionVisitor.html | 326 + .../AllKotlinAnnotationArgumentVisitor.html | 289 + .../visitor/AllKotlinAnnotationVisitor.html | 378 + .../kotlin/visitor/AllPropertyVisitor.html | 307 + .../kotlin/visitor/AllTypeAliasVisitor.html | 305 + .../visitor/AllTypeParameterVisitor.html | 420 + .../kotlin/visitor/AllTypeVisitor.html | 1203 + .../visitor/AllValueParameterVisitor.html | 422 + .../KotlinAnnotationArgumentVisitor.html | 609 + .../visitor/KotlinAnnotationVisitor.html | 277 + ...ssToAnonymousObjectOriginClassVisitor.html | 309 + ...KotlinClassToDefaultImplsClassVisitor.html | 305 + ...linClassToInlineOriginFunctionVisitor.html | 311 + .../kotlin/visitor/KotlinClassVisitor.html | 256 + .../visitor/KotlinConstructorVisitor.html | 226 + .../kotlin/visitor/KotlinContractVisitor.html | 228 + .../visitor/KotlinEffectExprVisitor.html | 298 + .../kotlin/visitor/KotlinEffectVisitor.html | 230 + .../visitor/KotlinFileFacadeVisitor.html | 256 + .../KotlinFunctionToDefaultMethodVisitor.html | 290 + .../KotlinFunctionToMethodVisitor.html | 289 + .../kotlin/visitor/KotlinFunctionVisitor.html | 260 + .../kotlin/visitor/KotlinMetadataPrinter.html | 1335 + .../kotlin/visitor/KotlinMetadataRemover.html | 316 + .../visitor/KotlinMetadataToClazzVisitor.html | 324 + .../visitor/KotlinMetadataVersionFilter.html | 391 + .../kotlin/visitor/KotlinMetadataVisitor.html | 333 + .../visitor/KotlinMultiFileFacadeVisitor.html | 256 + .../visitor/KotlinMultiFilePartVisitor.html | 256 + .../kotlin/visitor/KotlinPropertyVisitor.html | 260 + .../visitor/KotlinSyntheticClassVisitor.html | 256 + .../visitor/KotlinTypeAliasVisitor.html | 226 + .../visitor/KotlinTypeParameterVisitor.html | 298 + .../kotlin/visitor/KotlinTypeVisitor.html | 687 + .../visitor/KotlinValueParameterVisitor.html | 284 + .../KotlinVersionRequirementVisitor.html | 317 + .../MemberToKotlinPropertyVisitor.html | 345 + .../MethodToKotlinConstructorVisitor.html | 344 + .../MethodToKotlinFunctionVisitor.html | 344 + .../visitor/MultiKotlinMetadataVisitor.html | 311 + .../MultiKotlinTypeParameterVisitor.html | 370 + .../ReferencedKotlinMetadataVisitor.html | 319 + .../KotlinAnnotationArgumentFilter.html | 312 + .../filter/KotlinAnnotationFilter.html | 363 + .../visitor/filter/KotlinClassFilter.html | 290 + .../visitor/filter/KotlinClassKindFilter.html | 328 + .../filter/KotlinConstructorFilter.html | 283 + .../KotlinDeclarationContainerFilter.html | 336 + .../visitor/filter/KotlinFunctionFilter.html | 331 + .../visitor/filter/KotlinMetadataFilter.html | 320 + .../filter/KotlinMultiFilePartKindFilter.html | 320 + .../visitor/filter/KotlinPropertyFilter.html | 307 + .../KotlinSyntheticClassKindFilter.html | 359 + .../visitor/filter/KotlinTypeAliasFilter.html | 301 + .../visitor/filter/KotlinTypeFilter.html | 810 + .../filter/KotlinTypeParameterFilter.html | 389 + .../filter/KotlinValueParameterFilter.html | 372 + .../kotlin/visitor/filter/package-frame.html | 33 + .../visitor/filter/package-summary.html | 229 + .../kotlin/visitor/filter/package-tree.html | 148 + .../kotlin/visitor/package-frame.html | 64 + .../kotlin/visitor/package-summary.html | 369 + .../kotlin/visitor/package-tree.html | 182 + api/proguard/classfile/package-frame.html | 48 + api/proguard/classfile/package-summary.html | 329 + api/proguard/classfile/package-tree.html | 196 + api/proguard/classfile/util/AccessUtil.html | 447 + .../classfile/util/AllParameterVisitor.html | 356 + .../util/ArrayInitializationMatcher.html | 377 + .../util/ArrayInitializationReplacer.html | 404 + .../classfile/util/BranchTargetFinder.html | 887 + .../classfile/util/ClassInitializer.html | 392 + .../classfile/util/ClassPoolClassLoader.html | 288 + ...r.KotlinTypeAliasReferenceInitializer.html | 315 + .../util/ClassReferenceInitializer.html | 1211 + api/proguard/classfile/util/ClassRenamer.html | 437 + .../util/ClassSubHierarchyInitializer.html | 341 + .../util/ClassSuperHierarchyInitializer.html | 405 + api/proguard/classfile/util/ClassUtil.html | 2298 + .../util/DescriptorClassEnumeration.html | 359 + .../DynamicClassReferenceInitializer.html | 669 + .../DynamicMemberReferenceInitializer.html | 555 + .../util/EnumFieldReferenceInitializer.html | 446 + .../util/ExternalTypeEnumeration.html | 312 + .../classfile/util/InitializationUtil.html | 312 + .../classfile/util/InitializedClassUtil.html | 252 + .../util/InstructionSequenceMatcher.html | 1471 + .../util/InternalTypeEnumeration.html | 456 + .../classfile/util/InternalTypeIterable.html | 286 + .../util/InvalidClassReferenceVisitor.html | 256 + .../util/InvalidMemberReferenceVisitor.html | 402 + .../util/InvalidReferenceVisitor.html | 198 + api/proguard/classfile/util/MemberFinder.html | 499 + .../classfile/util/MemberRenamer.html | 334 + api/proguard/classfile/util/MethodLinker.html | 368 + .../classfile/util/NestHostFinder.html | 393 + .../util/PrimitiveArrayConstantReplacer.html | 667 + .../util/StringReferenceInitializer.html | 318 + api/proguard/classfile/util/StringSharer.html | 498 + .../classfile/util/WarningLogger.html | 406 + .../classfile/util/WarningPrinter.html | 416 + .../util/WildcardConstantFilter.html | 618 + .../kotlin/KotlinMetadataInitializer.html | 539 + .../util/kotlin/KotlinMetadataType.html | 416 + .../classfile/util/kotlin/KotlinNameUtil.html | 380 + .../util/kotlin/KotlinStringUtil.html | 268 + .../classfile/util/kotlin/package-frame.html | 25 + .../util/kotlin/package-summary.html | 170 + .../classfile/util/kotlin/package-tree.html | 148 + .../classfile/util/package-frame.html | 57 + .../classfile/util/package-summary.html | 389 + api/proguard/classfile/util/package-tree.html | 186 + .../util/renderer/ClassViewModel.html | 441 + .../util/renderer/ConstantViewModel.html | 318 + .../util/renderer/FieldViewModel.html | 324 + .../util/renderer/MemberViewModel.Pair.html | 297 + .../util/renderer/MemberViewModel.html | 343 + .../util/renderer/MethodViewModel.html | 324 + .../util/renderer/ProcessableViewModel.html | 355 + .../util/renderer/core/StringListWriter.html | 390 + .../util/renderer/core/package-frame.html | 19 + .../util/renderer/core/package-summary.html | 139 + .../util/renderer/core/package-tree.html | 138 + .../util/renderer/package-frame.html | 25 + .../util/renderer/package-summary.html | 177 + .../classfile/util/renderer/package-tree.html | 146 + .../classfile/visitor/AllClassVisitor.html | 279 + .../classfile/visitor/AllFieldVisitor.html | 291 + .../classfile/visitor/AllMemberVisitor.html | 291 + .../classfile/visitor/AllMethodVisitor.html | 291 + .../classfile/visitor/BottomClassFilter.html | 350 + .../classfile/visitor/ClassAccessFilter.html | 308 + .../classfile/visitor/ClassCleaner.html | 1186 + .../classfile/visitor/ClassCollector.html | 297 + .../visitor/ClassConstantClassFilter.html | 392 + .../classfile/visitor/ClassCounter.html | 311 + .../visitor/ClassFeatureNameCollector.html | 298 + .../visitor/ClassHierarchyTraveler.html | 310 + .../classfile/visitor/ClassNameCollector.html | 298 + .../classfile/visitor/ClassNameFilter.html | 541 + .../visitor/ClassPoolClassVisitor.html | 316 + .../classfile/visitor/ClassPoolFiller.html | 293 + .../classfile/visitor/ClassPoolRemover.html | 293 + .../classfile/visitor/ClassPoolVisitor.html | 225 + .../visitor/ClassPresenceFilter.html | 330 + .../classfile/visitor/ClassPrinter.html | 2655 ++ .../visitor/ClassProcessingFlagFilter.html | 304 + .../visitor/ClassProcessingInfoFilter.html | 327 + .../classfile/visitor/ClassVersionFilter.html | 343 + .../classfile/visitor/ClassVersionSetter.html | 339 + .../classfile/visitor/ClassVisitor.html | 257 + .../visitor/ConcreteClassDownTraveler.html | 325 + .../visitor/ConstantProcessingFlagFilter.html | 306 + .../visitor/ConstructorMethodFilter.html | 409 + .../CounterConditionalClassVisitor.html | 330 + .../visitor/DotClassClassVisitor.html | 384 + .../visitor/DynamicReturnedClassVisitor.html | 367 + .../classfile/visitor/ExceptClassFilter.html | 301 + .../visitor/ExceptClassesFilter.html | 301 + .../classfile/visitor/ExceptionCounter.html | 304 + .../ExceptionExcludedOffsetFilter.html | 295 + .../ExceptionHandlerConstantVisitor.html | 292 + .../visitor/ExceptionHandlerFilter.html | 298 + .../visitor/ExceptionOffsetFilter.html | 295 + .../visitor/ExceptionRangeFilter.html | 298 + .../visitor/FilteredClassVisitor.html | 314 + .../visitor/FunctionalInterfaceFilter.html | 298 + .../ImplementedClassConstantFilter.html | 298 + .../visitor/ImplementedClassFilter.html | 313 + .../ImplementingClassConstantFilter.html | 298 + .../visitor/InitializerMethodFilter.html | 378 + .../classfile/visitor/LibraryClassFilter.html | 315 + .../visitor/LibraryMemberFilter.html | 352 + .../classfile/visitor/LineNumberFinder.html | 372 + .../classfile/visitor/MemberAccessFilter.html | 342 + .../visitor/MemberAccessFlagCleaner.html | 412 + .../visitor/MemberAccessFlagSetter.html | 356 + .../classfile/visitor/MemberAccessSetter.html | 356 + .../visitor/MemberClassAccessFilter.html | 355 + .../visitor/MemberCollectionFilter.html | 330 + .../classfile/visitor/MemberCollector.html | 311 + .../classfile/visitor/MemberCounter.html | 364 + .../visitor/MemberDescriptorFilter.html | 405 + ...emberDescriptorReferencedClassVisitor.html | 325 + .../classfile/visitor/MemberNameFilter.html | 403 + .../visitor/MemberProcessingFlagFilter.html | 337 + .../visitor/MemberToClassVisitor.html | 345 + .../classfile/visitor/MemberVisitor.html | 323 + .../classfile/visitor/MethodCollector.html | 313 + .../classfile/visitor/MethodCounter.html | 332 + .../classfile/visitor/MethodFilter.html | 374 + .../visitor/MethodImplementationFilter.html | 317 + .../visitor/MethodImplementationTraveler.html | 326 + .../visitor/MultiClassPoolVisitor.html | 316 + .../classfile/visitor/MultiClassVisitor.html | 315 + .../visitor/MultiConstantVisitor.html | 318 + .../classfile/visitor/MultiMemberVisitor.html | 369 + .../classfile/visitor/NamedClassVisitor.html | 281 + .../classfile/visitor/NamedFieldVisitor.html | 295 + .../classfile/visitor/NamedMethodVisitor.html | 295 + ...elAllClassVisitor.ClassVisitorFactory.html | 226 + .../visitor/ParallelAllClassVisitor.html | 313 + .../classfile/visitor/ParameterVisitor.html | 255 + .../visitor/ProcessingInfoSetter.html | 664 + .../classfile/visitor/ProgramClassFilter.html | 315 + .../visitor/ProgramMemberFilter.html | 352 + .../visitor/ReferencedClassVisitor.html | 914 + .../visitor/ReferencedClassesExtractor.html | 378 + .../visitor/ReferencedMemberVisitor.html | 405 + .../classfile/visitor/SignatureAdapter.html | 292 + ...natureAttributeReferencedClassVisitor.html | 312 + .../visitor/SimilarMemberVisitor.html | 406 + .../classfile/visitor/SimpleClassPrinter.html | 399 + .../visitor/SingleTimeClassVisitor.html | 291 + .../classfile/visitor/SubclassFilter.html | 328 + .../classfile/visitor/SubclassTraveler.html | 298 + .../classfile/visitor/UniqueClassFilter.html | 298 + .../visitor/VariableClassVisitor.html | 329 + .../visitor/VariableMemberVisitor.html | 383 + .../classfile/visitor/package-frame.html | 114 + .../classfile/visitor/package-summary.html | 822 + .../classfile/visitor/package-tree.html | 229 + api/proguard/dexfile/AndroidConstants.html | 2502 ++ .../dexfile/converter/Dex2IRConverter.html | 272 + api/proguard/dexfile/converter/Dex2Pro.html | 323 + api/proguard/dexfile/converter/DexFix.html | 297 + .../dexfile/converter/IR2ProConverter.html | 327 + .../dexfile/converter/package-frame.html | 22 + .../dexfile/converter/package-summary.html | 157 + .../dexfile/converter/package-tree.html | 137 + api/proguard/dexfile/ir/ET.html | 380 + api/proguard/dexfile/ir/IrMethod.html | 442 + .../dexfile/ir/LabelAndLocalMapper.html | 281 + api/proguard/dexfile/ir/LocalVar.html | 396 + api/proguard/dexfile/ir/StmtSearcher.html | 294 + api/proguard/dexfile/ir/StmtTraveler.html | 307 + api/proguard/dexfile/ir/Trap.html | 379 + api/proguard/dexfile/ir/TypeClass.html | 576 + api/proguard/dexfile/ir/Util.html | 353 + .../dexfile/ir/expr/AbstractInvokeExpr.html | 360 + api/proguard/dexfile/ir/expr/ArrayExpr.html | 420 + api/proguard/dexfile/ir/expr/BinopExpr.html | 452 + api/proguard/dexfile/ir/expr/CastExpr.html | 438 + api/proguard/dexfile/ir/expr/Constant.html | 399 + api/proguard/dexfile/ir/expr/Exprs.html | 1309 + api/proguard/dexfile/ir/expr/FieldExpr.html | 466 + .../dexfile/ir/expr/FilledArrayExpr.html | 427 + .../dexfile/ir/expr/InvokeCustomExpr.html | 510 + api/proguard/dexfile/ir/expr/InvokeExpr.html | 535 + .../dexfile/ir/expr/InvokeNewExpr.html | 436 + .../ir/expr/InvokePolymorphicExpr.html | 467 + api/proguard/dexfile/ir/expr/Local.html | 450 + api/proguard/dexfile/ir/expr/NewExpr.html | 406 + .../dexfile/ir/expr/NewMutiArrayExpr.html | 452 + api/proguard/dexfile/ir/expr/PhiExpr.html | 371 + api/proguard/dexfile/ir/expr/RefExpr.html | 430 + .../dexfile/ir/expr/StaticFieldExpr.html | 450 + api/proguard/dexfile/ir/expr/TypeExpr.html | 431 + api/proguard/dexfile/ir/expr/UnopExpr.html | 437 + .../dexfile/ir/expr/Value.E0Expr.html | 293 + .../dexfile/ir/expr/Value.E1Expr.html | 404 + .../dexfile/ir/expr/Value.E2Expr.html | 448 + .../dexfile/ir/expr/Value.EnExpr.html | 425 + api/proguard/dexfile/ir/expr/Value.VT.html | 974 + api/proguard/dexfile/ir/expr/Value.html | 627 + .../dexfile/ir/expr/package-frame.html | 47 + .../dexfile/ir/expr/package-summary.html | 290 + .../dexfile/ir/expr/package-tree.html | 191 + api/proguard/dexfile/ir/package-frame.html | 30 + api/proguard/dexfile/ir/package-summary.html | 186 + api/proguard/dexfile/ir/package-tree.html | 153 + api/proguard/dexfile/ir/stmt/AssignStmt.html | 361 + .../dexfile/ir/stmt/BaseSwitchStmt.html | 343 + api/proguard/dexfile/ir/stmt/GotoStmt.html | 408 + api/proguard/dexfile/ir/stmt/IfStmt.html | 435 + api/proguard/dexfile/ir/stmt/JumpStmt.html | 235 + api/proguard/dexfile/ir/stmt/LabelStmt.html | 421 + .../dexfile/ir/stmt/LookupSwitchStmt.html | 401 + api/proguard/dexfile/ir/stmt/NopStmt.html | 341 + .../dexfile/ir/stmt/ReturnVoidStmt.html | 341 + api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html | 289 + api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html | 374 + api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html | 423 + api/proguard/dexfile/ir/stmt/Stmt.ST.html | 588 + api/proguard/dexfile/ir/stmt/Stmt.html | 697 + api/proguard/dexfile/ir/stmt/StmtList.html | 533 + api/proguard/dexfile/ir/stmt/Stmts.html | 436 + .../dexfile/ir/stmt/TableSwitchStmt.html | 413 + api/proguard/dexfile/ir/stmt/UnopStmt.html | 352 + .../dexfile/ir/stmt/VoidInvokeStmt.html | 356 + .../dexfile/ir/stmt/package-frame.html | 43 + .../dexfile/ir/stmt/package-summary.html | 265 + .../dexfile/ir/stmt/package-tree.html | 181 + .../dexfile/ir/ts/AggTransformer.html | 288 + .../dexfile/ir/ts/Cfg.DfsVisitor.html | 222 + .../dexfile/ir/ts/Cfg.FrameVisitor.html | 264 + .../dexfile/ir/ts/Cfg.OnAssignCallBack.html | 232 + .../dexfile/ir/ts/Cfg.OnUseCallBack.html | 230 + .../dexfile/ir/ts/Cfg.TravelCallBack.html | 205 + api/proguard/dexfile/ir/ts/Cfg.html | 531 + api/proguard/dexfile/ir/ts/CleanLabel.html | 278 + .../dexfile/ir/ts/ExceptionHandlerTrim.html | 315 + .../ir/ts/Ir2JRegAssignTransformer.Reg.html | 300 + .../ir/ts/Ir2JRegAssignTransformer.html | 301 + .../dexfile/ir/ts/MultiArrayTransformer.html | 300 + .../dexfile/ir/ts/NewTransformer.html | 295 + .../dexfile/ir/ts/RemoveConstantFromSSA.html | 354 + .../dexfile/ir/ts/RemoveLocalFromSSA.html | 323 + .../dexfile/ir/ts/StatedTransformer.html | 294 + api/proguard/dexfile/ir/ts/Transformer.html | 223 + .../ir/ts/TypeTransformer.TypeRef.html | 516 + .../dexfile/ir/ts/TypeTransformer.html | 297 + .../dexfile/ir/ts/UnSSATransformer.LiveA.html | 424 + .../ir/ts/UnSSATransformer.RegAssign.html | 280 + .../dexfile/ir/ts/UnSSATransformer.html | 341 + api/proguard/dexfile/ir/ts/UniqueQueue.html | 442 + .../dexfile/ir/ts/VoidInvokeTransformer.html | 313 + .../dexfile/ir/ts/ZeroTransformer.html | 320 + .../dexfile/ir/ts/an/AnalyzeValue.html | 222 + .../dexfile/ir/ts/an/BaseAnalyze.html | 651 + .../dexfile/ir/ts/an/SimpleLiveAnalyze.html | 422 + .../dexfile/ir/ts/an/SimpleLiveValue.html | 339 + .../dexfile/ir/ts/an/package-frame.html | 25 + .../dexfile/ir/ts/an/package-summary.html | 162 + .../dexfile/ir/ts/an/package-tree.html | 143 + api/proguard/dexfile/ir/ts/package-frame.html | 46 + .../dexfile/ir/ts/package-summary.html | 275 + api/proguard/dexfile/ir/ts/package-tree.html | 191 + api/proguard/dexfile/package-frame.html | 19 + api/proguard/dexfile/package-summary.html | 141 + api/proguard/dexfile/package-tree.html | 134 + .../dexfile/reader/BaseDexFileReader.html | 293 + api/proguard/dexfile/reader/CFG.html | 305 + api/proguard/dexfile/reader/DexConstants.html | 812 + .../dexfile/reader/DexContainerReader.html | 376 + api/proguard/dexfile/reader/DexException.html | 366 + .../dexfile/reader/DexFileReader.html | 702 + api/proguard/dexfile/reader/DexLabel.html | 289 + .../dexfile/reader/DexReaderFactory.html | 299 + api/proguard/dexfile/reader/DexType.html | 312 + api/proguard/dexfile/reader/Field.html | 328 + .../dexfile/reader/InstructionFormat.html | 662 + .../dexfile/reader/InstructionIndexType.html | 458 + api/proguard/dexfile/reader/Method.html | 419 + api/proguard/dexfile/reader/MethodHandle.html | 536 + api/proguard/dexfile/reader/Op.html | 3184 ++ api/proguard/dexfile/reader/Proto.html | 334 + api/proguard/dexfile/reader/Visibility.html | 399 + .../reader/node/DexAnnotationNode.Item.html | 289 + .../reader/node/DexAnnotationNode.html | 490 + .../dexfile/reader/node/DexClassNode.html | 543 + .../dexfile/reader/node/DexCodeNode.html | 1009 + .../DexDebugNode.DexDebugOpNode.EndLocal.html | 341 + .../DexDebugNode.DexDebugOpNode.Epiogue.html | 311 + ...exDebugNode.DexDebugOpNode.LineNumber.html | 341 + .../DexDebugNode.DexDebugOpNode.Prologue.html | 311 + ...DebugNode.DexDebugOpNode.RestartLocal.html | 341 + ...bugNode.DexDebugOpNode.StartLocalNode.html | 386 + .../node/DexDebugNode.DexDebugOpNode.html | 353 + .../dexfile/reader/node/DexDebugNode.html | 535 + .../dexfile/reader/node/DexFieldNode.html | 430 + .../dexfile/reader/node/DexFileNode.html | 389 + .../dexfile/reader/node/DexMethodNode.html | 473 + .../dexfile/reader/node/TryCatchNode.html | 349 + .../reader/node/analysis/DvmFrame.html | 419 + .../reader/node/analysis/DvmInterpreter.html | 395 + .../reader/node/analysis/package-frame.html | 20 + .../reader/node/analysis/package-summary.html | 143 + .../reader/node/analysis/package-tree.html | 135 + .../node/insn/AbstractMethodStmtNode.html | 329 + .../reader/node/insn/BaseSwitchStmtNode.html | 312 + .../reader/node/insn/ConstStmtNode.html | 337 + .../reader/node/insn/DexLabelStmtNode.html | 320 + .../dexfile/reader/node/insn/DexStmtNode.html | 323 + .../reader/node/insn/FieldStmtNode.html | 352 + .../node/insn/FillArrayDataStmtNode.html | 337 + .../node/insn/FilledNewArrayStmtNode.html | 337 + .../reader/node/insn/JumpStmtNode.html | 352 + .../node/insn/MethodCustomStmtNode.html | 398 + .../node/insn/MethodPolymorphicStmtNode.html | 368 + .../reader/node/insn/MethodStmtNode.html | 353 + .../node/insn/PackedSwitchStmtNode.html | 338 + .../node/insn/SparseSwitchStmtNode.html | 338 + .../dexfile/reader/node/insn/Stmt0RNode.html | 292 + .../dexfile/reader/node/insn/Stmt1RNode.html | 322 + .../reader/node/insn/Stmt2R1NNode.html | 352 + .../dexfile/reader/node/insn/Stmt2RNode.html | 337 + .../dexfile/reader/node/insn/Stmt3RNode.html | 352 + .../reader/node/insn/TypeStmtNode.html | 352 + .../reader/node/insn/package-frame.html | 38 + .../reader/node/insn/package-summary.html | 215 + .../reader/node/insn/package-tree.html | 162 + .../dexfile/reader/node/package-frame.html | 34 + .../dexfile/reader/node/package-summary.html | 199 + .../dexfile/reader/node/package-tree.html | 180 + .../dexfile/reader/package-frame.html | 44 + .../dexfile/reader/package-summary.html | 250 + api/proguard/dexfile/reader/package-tree.html | 176 + .../dexfile/reader/util/InputStreams.html | 273 + api/proguard/dexfile/reader/util/Mutf8.html | 291 + .../dexfile/reader/util/package-frame.html | 20 + .../dexfile/reader/util/package-summary.html | 145 + .../dexfile/reader/util/package-tree.html | 135 + .../reader/visitors/DexAnnotationAble.html | 234 + .../reader/visitors/DexAnnotationVisitor.html | 416 + .../reader/visitors/DexClassVisitor.html | 401 + .../reader/visitors/DexCodeVisitor.html | 896 + .../reader/visitors/DexDebugVisitor.html | 445 + .../reader/visitors/DexFieldVisitor.html | 352 + .../reader/visitors/DexFileVisitor.html | 352 + .../reader/visitors/DexMethodVisitor.html | 382 + .../reader/visitors/package-frame.html | 29 + .../reader/visitors/package-summary.html | 182 + .../dexfile/reader/visitors/package-tree.html | 144 + api/proguard/evaluation/BasicBranchUnit.html | 459 + .../evaluation/BasicInvocationUnit.html | 674 + api/proguard/evaluation/BranchUnit.html | 288 + .../evaluation/ClassConstantValueFactory.html | 316 + .../evaluation/ConstantValueFactory.html | 529 + .../ExecutingInvocationUnit.Builder.html | 471 + .../evaluation/ExecutingInvocationUnit.html | 624 + .../IncompleteClassHierarchyException.html | 290 + .../evaluation/InitializationFinder.html | 513 + api/proguard/evaluation/InvocationUnit.html | 307 + api/proguard/evaluation/LivenessAnalyzer.html | 595 + .../evaluation/MethodResult.Builder.html | 374 + api/proguard/evaluation/MethodResult.html | 429 + .../evaluation/PartialEvaluator.Builder.html | 429 + .../PartialEvaluator.InstructionBlock.html | 200 + api/proguard/evaluation/PartialEvaluator.html | 953 + .../ParticularReferenceValueFactory.html | 639 + api/proguard/evaluation/Processor.html | 442 + .../ReferenceTracingInvocationUnit.html | 670 + .../ReferenceTracingValueFactory.html | 1082 + .../evaluation/SimplifiedInvocationUnit.html | 811 + api/proguard/evaluation/Stack.html | 906 + api/proguard/evaluation/TracedStack.html | 796 + api/proguard/evaluation/TracedVariables.html | 522 + api/proguard/evaluation/ValueCalculator.html | 273 + api/proguard/evaluation/Variables.html | 617 + .../exception/ArrayIndexOutOfBounds.html | 327 + .../exception/ArrayStoreTypeException.html | 325 + .../EmptyCodeAttributeException.html | 276 + .../ExcessiveComplexityException.html | 279 + .../IncompleteClassHierarchyException.html | 283 + .../exception/PartialEvaluatorException.html | 363 + .../exception/StackCategoryOneException.html | 313 + .../StackGeneralizationException.html | 363 + .../exception/StackTypeException.html | 328 + .../exception/ValueTypeException.html | 325 + .../exception/VariableEmptySlotException.html | 289 + .../VariableEvaluationException.html | 323 + .../VariableIndexOutOfBoundException.html | 325 + .../exception/VariableTypeException.html | 342 + .../VariablesGeneralizationException.html | 327 + .../evaluation/exception/package-frame.html | 33 + .../evaluation/exception/package-summary.html | 215 + .../evaluation/exception/package-tree.html | 174 + .../evaluation/executor/Executor.Builder.html | 237 + .../evaluation/executor/Executor.html | 294 + .../executor/MethodExecutionInfo.html | 671 + ...ReflectionExecutor.InstanceCopyResult.html | 287 + .../executor/ReflectionExecutor.html | 384 + .../StringReflectionExecutor.Builder.html | 288 + .../executor/StringReflectionExecutor.html | 382 + .../ExecutorInstanceHandler.html | 229 + .../ExecutorMethodInstanceHandler.html | 293 + .../instancehandler/package-frame.html | 23 + .../instancehandler/package-summary.html | 160 + .../instancehandler/package-tree.html | 138 + .../evaluation/executor/package-frame.html | 28 + .../evaluation/executor/package-summary.html | 188 + .../evaluation/executor/package-tree.html | 146 + api/proguard/evaluation/package-frame.html | 50 + api/proguard/evaluation/package-summary.html | 336 + api/proguard/evaluation/package-tree.html | 201 + .../evaluation/util/DebugPrinter.html | 861 + .../util/PartialEvaluatorStateTracker.html | 717 + .../util/jsonprinter/JsonPrinter.html | 717 + .../util/jsonprinter/package-frame.html | 19 + .../util/jsonprinter/package-summary.html | 141 + .../util/jsonprinter/package-tree.html | 134 + .../evaluation/util/package-frame.html | 23 + .../evaluation/util/package-summary.html | 156 + .../evaluation/util/package-tree.html | 138 + .../evaluation/value/ArrayReferenceValue.html | 528 + .../value/ArrayReferenceValueFactory.html | 336 + .../value/BasicRangeValueFactory.html | 363 + .../evaluation/value/BasicValueFactory.html | 1017 + .../evaluation/value/Category1Value.html | 330 + .../evaluation/value/Category2Value.html | 330 + .../evaluation/value/ComparisonValue.html | 375 + .../value/CompositeDoubleValue.html | 477 + .../evaluation/value/CompositeFloatValue.html | 477 + .../value/CompositeIntegerValue.html | 579 + .../evaluation/value/CompositeLongValue.html | 579 + .../evaluation/value/ConvertedByteValue.html | 373 + .../value/ConvertedCharacterValue.html | 373 + .../value/ConvertedDoubleValue.html | 373 + .../evaluation/value/ConvertedFloatValue.html | 373 + .../value/ConvertedIntegerValue.html | 373 + .../evaluation/value/ConvertedLongValue.html | 373 + .../evaluation/value/ConvertedShortValue.html | 373 + .../value/DetailedArrayReferenceValue.html | 692 + .../value/DetailedArrayValueFactory.html | 379 + .../evaluation/value/DoubleValue.html | 1012 + api/proguard/evaluation/value/FloatValue.html | 1012 + .../value/IdentifiedArrayReferenceValue.html | 566 + .../value/IdentifiedDoubleValue.html | 375 + .../value/IdentifiedFloatValue.html | 375 + .../value/IdentifiedIntegerValue.html | 375 + .../evaluation/value/IdentifiedLongValue.html | 375 + .../value/IdentifiedReferenceValue.html | 531 + .../value/IdentifiedValueFactory.html | 654 + .../evaluation/value/InitialValueFactory.html | 280 + .../value/InstructionOffsetValue.html | 897 + .../evaluation/value/IntegerValue.html | 2717 ++ api/proguard/evaluation/value/LongValue.html | 1325 + .../value/MultiTypedReferenceValue.html | 758 + .../MultiTypedReferenceValueFactory.html | 470 + .../evaluation/value/NegatedDoubleValue.html | 394 + .../evaluation/value/NegatedFloatValue.html | 394 + .../evaluation/value/NegatedIntegerValue.html | 394 + .../evaluation/value/NegatedLongValue.html | 394 + .../value/ParticularDoubleValue.html | 923 + .../value/ParticularFloatValue.html | 923 + .../value/ParticularIntegerValue.html | 2072 + .../evaluation/value/ParticularLongValue.html | 1176 + .../value/ParticularReferenceValue.html | 606 + .../value/ParticularValueFactory.html | 859 + .../PrimitiveTypedReferenceValueFactory.html | 378 + .../evaluation/value/RangeIntegerValue.html | 2062 + .../evaluation/value/RangeValueFactory.html | 410 + .../evaluation/value/ReferenceValue.html | 1086 + .../value/ReflectiveMethodCallUtil.html | 422 + .../evaluation/value/SpecificDoubleValue.html | 874 + .../evaluation/value/SpecificFloatValue.html | 874 + .../value/SpecificIntegerValue.html | 2022 + .../evaluation/value/SpecificLongValue.html | 1150 + api/proguard/evaluation/value/TopValue.html | 461 + .../value/TracedReferenceValue.html | 1115 + .../evaluation/value/TracingValue.html | 659 + .../evaluation/value/TypedReferenceValue.html | 892 + .../value/TypedReferenceValueFactory.html | 413 + .../evaluation/value/UnknownDoubleValue.html | 654 + .../evaluation/value/UnknownFloatValue.html | 654 + .../evaluation/value/UnknownIntegerValue.html | 1032 + .../evaluation/value/UnknownLongValue.html | 795 + .../value/UnknownReferenceValue.html | 552 + .../evaluation/value/UnknownValue.html | 394 + api/proguard/evaluation/value/Value.html | 724 + .../evaluation/value/ValueFactory.html | 779 + .../value/object/AnalyzedObject.html | 414 + .../value/object/AnalyzedObjectFactory.html | 370 + .../evaluation/value/object/ArrayModel.html | 410 + .../evaluation/value/object/ClassModel.html | 444 + .../evaluation/value/object/Model.html | 323 + .../value/object/package-frame.html | 26 + .../value/object/package-summary.html | 176 + .../evaluation/value/object/package-tree.html | 141 + .../evaluation/value/package-frame.html | 88 + .../evaluation/value/package-summary.html | 566 + .../evaluation/value/package-tree.html | 266 + api/proguard/examples/AnalyzeTaints.html | 271 + .../examples/ApplyPeepholeOptimizations.html | 272 + .../examples/CreateHelloWorldClass.html | 294 + .../examples/CyclomaticComplexity.html | 276 + api/proguard/examples/EvaluateCode.html | 286 + api/proguard/examples/FindBranches.html | 275 + api/proguard/examples/JarUtil.html | 342 + api/proguard/examples/Preverify.html | 271 + api/proguard/examples/PrintClasses.html | 272 + api/proguard/examples/RemoveLogging.html | 273 + .../TransformExample.MyTransformer.html | 310 + api/proguard/examples/TransformExample.html | 292 + api/proguard/examples/VisualizeCfa.html | 279 + .../examples/VisualizeControlFlow.html | 277 + .../AddMethodInvocationLogging.html | 277 + .../examples/instrument/DebugStackTop.html | 283 + .../instrument/DebugStackTopExample.html | 282 + .../examples/instrument/package-frame.html | 21 + .../examples/instrument/package-summary.html | 154 + .../examples/instrument/package-tree.html | 136 + api/proguard/examples/modify/EditClass.html | 378 + .../ReplaceSimpleConstantInstruction.html | 281 + .../examples/modify/package-frame.html | 20 + .../examples/modify/package-summary.html | 149 + .../examples/modify/package-tree.html | 135 + api/proguard/examples/package-frame.html | 32 + api/proguard/examples/package-summary.html | 220 + api/proguard/examples/package-tree.html | 147 + api/proguard/examples/util/ExampleUtil.html | 351 + api/proguard/examples/util/package-frame.html | 19 + .../examples/util/package-summary.html | 141 + api/proguard/examples/util/package-tree.html | 134 + api/proguard/exception/ErrorId.html | 611 + .../InstructionExceptionFormatter.html | 309 + .../exception/ProguardCoreException.html | 355 + api/proguard/exception/package-frame.html | 24 + api/proguard/exception/package-summary.html | 162 + api/proguard/exception/package-tree.html | 148 + api/proguard/io/CascadingDataEntryWriter.html | 420 + api/proguard/io/ClassDataEntryWriter.html | 449 + api/proguard/io/ClassFilter.html | 272 + api/proguard/io/ClassMapDataEntryWriter.html | 486 + api/proguard/io/ClassPath.html | 394 + api/proguard/io/ClassPathDataEntry.html | 462 + api/proguard/io/ClassPathEntry.html | 865 + api/proguard/io/ClassReader.html | 350 + .../io/D8BasedDexDataEntryWriter.html | 391 + .../io/D8ClassConverter.D8DexFile.html | 307 + api/proguard/io/D8ClassConverter.html | 329 + api/proguard/io/DataEntry.html | 336 + api/proguard/io/DataEntryClassInfoFilter.html | 297 + api/proguard/io/DataEntryClassWriter.html | 330 + api/proguard/io/DataEntryCopier.html | 334 + api/proguard/io/DataEntryDirectoryFilter.html | 286 + api/proguard/io/DataEntryFilter.html | 232 + api/proguard/io/DataEntryNameFilter.html | 295 + api/proguard/io/DataEntryParentFilter.html | 293 + api/proguard/io/DataEntryReader.html | 232 + api/proguard/io/DataEntryReaderFactory.html | 312 + api/proguard/io/DataEntryRewriter.html | 335 + api/proguard/io/DataEntrySource.html | 234 + api/proguard/io/DataEntryToken.html | 287 + api/proguard/io/DataEntryTokenType.html | 339 + api/proguard/io/DataEntryTokenizer.html | 276 + api/proguard/io/DataEntryWriter.html | 348 + api/proguard/io/DataEntryWriterFactory.html | 404 + api/proguard/io/DexClassReader.html | 350 + api/proguard/io/DexDataEntryWriter.html | 526 + .../io/DexDataEntryWriterFactory.html | 305 + api/proguard/io/DirectoryFilter.html | 272 + api/proguard/io/DirectorySource.html | 288 + api/proguard/io/DirectoryWriter.html | 415 + api/proguard/io/DummyDataEntry.html | 445 + api/proguard/io/FileDataEntry.html | 480 + api/proguard/io/FileSource.html | 333 + api/proguard/io/FilteredDataEntryReader.html | 328 + api/proguard/io/FilteredDataEntryWriter.html | 451 + api/proguard/io/Finisher.html | 228 + api/proguard/io/FixedFileWriter.html | 419 + api/proguard/io/IdleRewriter.html | 287 + api/proguard/io/JarReader.html | 315 + .../JarWriter.MyMultiDigestOutputStream.html | 371 + api/proguard/io/JarWriter.html | 770 + api/proguard/io/ManifestRewriter.html | 317 + api/proguard/io/MultiDataEntryReader.html | 284 + .../io/NameFilteredDataEntryReader.html | 360 + .../io/NameFilteredDataEntryWriter.html | 360 + api/proguard/io/NamedDataEntry.html | 441 + .../io/NonClosingDataEntryWriter.html | 435 + api/proguard/io/ParallelDexClassReader.html | 358 + api/proguard/io/ParentDataEntryWriter.html | 416 + .../io/PrefixAddingDataEntryWriter.html | 414 + .../io/PrefixStrippingDataEntryReader.html | 291 + api/proguard/io/RenamedDataEntry.html | 330 + api/proguard/io/RenamedDataEntryReader.html | 323 + api/proguard/io/RenamedDataEntryWriter.html | 419 + .../io/RenamedParentDataEntryWriter.html | 422 + api/proguard/io/RuntimeDataInput.html | 456 + api/proguard/io/RuntimeDataOutput.html | 490 + api/proguard/io/SignedJarWriter.html | 538 + api/proguard/io/StreamingDataEntry.html | 437 + api/proguard/io/WrappedDataEntry.html | 475 + api/proguard/io/ZipDataEntry.html | 439 + api/proguard/io/ZipFileDataEntry.html | 439 + .../io/ZipOutput.LargeDataOutputStream.html | 371 + api/proguard/io/ZipOutput.html | 886 + api/proguard/io/ZipWriter.html | 668 + api/proguard/io/package-frame.html | 93 + api/proguard/io/package-summary.html | 613 + api/proguard/io/package-tree.html | 253 + api/proguard/io/util/ClassPathUtil.html | 293 + api/proguard/io/util/IOUtil.html | 510 + api/proguard/io/util/package-frame.html | 20 + api/proguard/io/util/package-summary.html | 145 + api/proguard/io/util/package-tree.html | 135 + api/proguard/preverify/CodePreverifier.html | 334 + .../preverify/CodeSubroutineInliner.html | 440 + api/proguard/preverify/package-frame.html | 20 + api/proguard/preverify/package-summary.html | 159 + api/proguard/preverify/package-tree.html | 135 + api/proguard/resources/file/FilePool.html | 339 + api/proguard/resources/file/ResourceFile.html | 456 + .../resources/file/ResourceFilePool.html | 597 + .../resources/file/ResourceJavaReference.html | 339 + .../file/io/ResourceFileDataEntryReader.html | 308 + .../resources/file/io/package-frame.html | 19 + .../resources/file/io/package-summary.html | 151 + .../resources/file/io/package-tree.html | 134 + .../resources/file/package-frame.html | 25 + .../resources/file/package-summary.html | 179 + api/proguard/resources/file/package-tree.html | 148 + .../file/util/FilePoolNameFunction.html | 324 + .../util/ResourceFilePoolNameFunction.html | 274 + .../resources/file/util/package-frame.html | 20 + .../resources/file/util/package-summary.html | 155 + .../resources/file/util/package-tree.html | 138 + .../visitor/MultiResourceFileVisitor.html | 307 + .../file/visitor/ResourceFileNameFilter.html | 372 + .../file/visitor/ResourceFilePoolFiller.html | 300 + .../visitor/ResourceFilePresenceFilter.html | 366 + .../ResourceFileProcessingFlagFilter.html | 307 + .../file/visitor/ResourceFileVisitor.html | 269 + ...ResourceJavaReferenceClassInitializer.html | 305 + .../ResourceJavaReferenceCollector.html | 299 + .../resources/file/visitor/package-frame.html | 29 + .../file/visitor/package-summary.html | 210 + .../resources/file/visitor/package-tree.html | 148 + .../resources/kotlinmodule/KotlinModule.html | 446 + .../kotlinmodule/KotlinModulePackage.html | 362 + .../io/KotlinModuleDataEntryReader.html | 285 + .../io/KotlinModuleDataEntryWriter.html | 410 + .../kotlinmodule/io/KotlinModuleReader.html | 301 + .../kotlinmodule/io/KotlinModuleWriter.html | 300 + .../kotlinmodule/io/package-frame.html | 22 + .../kotlinmodule/io/package-summary.html | 157 + .../kotlinmodule/io/package-tree.html | 137 + .../resources/kotlinmodule/package-frame.html | 20 + .../kotlinmodule/package-summary.html | 146 + .../resources/kotlinmodule/package-tree.html | 147 + .../KotlinModuleReferenceInitializer.html | 308 + .../kotlinmodule/util/package-frame.html | 19 + .../kotlinmodule/util/package-summary.html | 141 + .../kotlinmodule/util/package-tree.html | 134 + .../KotlinMetadataToModuleVisitor.html | 305 + .../visitor/KotlinModulePackageVisitor.html | 224 + .../visitor/KotlinModulePrinter.html | 320 + .../visitor/KotlinModuleVisitor.html | 227 + .../kotlinmodule/visitor/package-frame.html | 25 + .../kotlinmodule/visitor/package-summary.html | 166 + .../kotlinmodule/visitor/package-tree.html | 140 + api/proguard/util/AndMatcher.html | 327 + api/proguard/util/AndNotStringFunction.html | 303 + api/proguard/util/AndStringFunction.html | 303 + api/proguard/util/ArrayUtil.html | 2582 ++ api/proguard/util/Base64Util.html | 272 + api/proguard/util/CallGraphWalker.html | 623 + api/proguard/util/CircularIntBuffer.html | 323 + api/proguard/util/ClassNameParser.html | 327 + .../util/ClassPoolFeatureNameFunction.html | 319 + api/proguard/util/CollectionMatcher.html | 336 + api/proguard/util/CollectionParser.html | 310 + .../util/ConcatenatingStringFunction.html | 302 + api/proguard/util/ConstantMatcher.html | 324 + api/proguard/util/ConstantStringFunction.html | 300 + api/proguard/util/Counter.html | 226 + api/proguard/util/EmptyStringMatcher.html | 299 + api/proguard/util/ExtensionMatcher.html | 306 + api/proguard/util/FeatureNamed.html | 311 + api/proguard/util/FileNameParser.html | 324 + api/proguard/util/FilteredStringFunction.html | 318 + api/proguard/util/FixedStringMatcher.html | 351 + api/proguard/util/IdentityStringFunction.html | 297 + api/proguard/util/ListFunctionParser.html | 327 + api/proguard/util/ListMatcher.html | 315 + api/proguard/util/ListParser.html | 330 + api/proguard/util/ListUtil.html | 362 + api/proguard/util/MapStringFunction.html | 319 + api/proguard/util/MatchedStringFunction.html | 300 + api/proguard/util/MatchedStringMatcher.html | 336 + api/proguard/util/MatchingStringFunction.html | 302 + api/proguard/util/MultiValueMap.html | 472 + api/proguard/util/NameParser.html | 325 + api/proguard/util/NotMatcher.html | 299 + api/proguard/util/NotStringFunction.html | 301 + api/proguard/util/ObjectUtil.html | 330 + api/proguard/util/OrMatcher.html | 324 + api/proguard/util/OrStringFunction.html | 303 + api/proguard/util/PartialEvaluatorUtils.html | 283 + .../util/PrefixAddingStringFunction.html | 318 + .../util/PrefixRemovingStringFunction.html | 351 + api/proguard/util/Processable.html | 290 + api/proguard/util/ProcessableVisitor.html | 386 + api/proguard/util/ProcessingFlagCleaner.html | 333 + api/proguard/util/ProcessingFlagSetter.html | 333 + api/proguard/util/ProcessingFlags.html | 565 + api/proguard/util/SettableMatcher.html | 335 + .../util/SimpleFeatureNamedProcessable.html | 470 + api/proguard/util/SimpleProcessable.html | 470 + api/proguard/util/SingleFunctionParser.html | 304 + api/proguard/util/StringFunction.html | 265 + api/proguard/util/StringFunctionParser.html | 227 + api/proguard/util/StringMatcher.html | 328 + api/proguard/util/StringParser.html | 227 + api/proguard/util/StringUtil.html | 421 + .../util/SuffixAddingStringFunction.html | 304 + .../util/SuffixRemovingStringFunction.html | 304 + .../util/TransformedStringMatcher.html | 335 + api/proguard/util/VariableStringMatcher.html | 335 + api/proguard/util/WildcardManager.html | 425 + .../util/kotlin/asserter/AssertUtil.html | 353 + .../asserter/KotlinMetadataAsserter.html | 275 + .../util/kotlin/asserter/Reporter.html | 273 + .../AbstractKotlinMetadataConstraint.html | 396 + .../asserter/constraint/ClassIntegrity.html | 309 + .../constraint/ConstructorIntegrity.html | 336 + .../DeclarationContainerIntegrity.html | 313 + .../constraint/FileFacadeIntegrity.html | 308 + .../constraint/FunctionIntegrity.html | 344 + .../constraint/KmAnnotationIntegrity.html | 499 + .../constraint/KotlinAsserterConstraint.html | 249 + .../constraint/KotlinModuleIntegrity.html | 347 + .../constraint/MultiFileFacadeIntegrity.html | 308 + .../constraint/MultiFilePartIntegrity.html | 308 + .../constraint/PropertyIntegrity.html | 344 + .../constraint/SyntheticClassIntegrity.html | 313 + .../asserter/constraint/TypeIntegrity.html | 342 + .../constraint/ValueParameterIntegrity.html | 407 + .../asserter/constraint/package-frame.html | 36 + .../asserter/constraint/package-summary.html | 218 + .../asserter/constraint/package-tree.html | 154 + .../util/kotlin/asserter/package-frame.html | 24 + .../util/kotlin/asserter/package-summary.html | 162 + .../util/kotlin/asserter/package-tree.html | 139 + api/proguard/util/package-frame.html | 80 + api/proguard/util/package-summary.html | 536 + api/proguard/util/package-tree.html | 233 + api/script.js | 30 + api/serialized-form.html | 3542 ++ api/stylesheet.css | 574 + assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.220ee61c.min.js | 29 + assets/javascripts/bundle.220ee61c.min.js.map | 8 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++ .../workers/search.74e28a9f.min.js | 42 + .../workers/search.74e28a9f.min.js.map | 8 + assets/stylesheets/main.eebd395e.min.css | 1 + assets/stylesheets/main.eebd395e.min.css.map | 1 + assets/stylesheets/palette.ecc896b0.min.css | 1 + .../stylesheets/palette.ecc896b0.min.css.map | 1 + building.html | 618 + creating.html | 622 + downloads.html | 623 + editing.html | 713 + extra.css | 35 + img/core.png | Bin 0 -> 1742 bytes img/guardsquare.png | Bin 0 -> 37399 bytes index.html | 762 + kotlin.html | 732 + license.html | 763 + partialevaluator.html | 2052 + patternmatching.html | 720 + reading.html | 809 + releasenotes.html | 3083 ++ search/search_index.json | 1 + sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes taintcpa.html | 845 + 1613 files changed, 678230 insertions(+) create mode 100644 404.html create mode 100644 api/allclasses-frame.html create mode 100644 api/allclasses-noframe.html create mode 100644 api/com/example/SampleClassWithArray.html create mode 100644 api/com/example/SampleClassWithConstantComputation.html create mode 100644 api/com/example/SampleClassWithObjects.html create mode 100644 api/com/example/SampleClassWithRangeComputation.html create mode 100644 api/com/example/SampleClassWithVariableComputation.html create mode 100644 api/com/example/package-frame.html create mode 100644 api/com/example/package-summary.html create mode 100644 api/com/example/package-tree.html create mode 100644 api/constant-values.html create mode 100644 api/deprecated-list.html create mode 100644 api/help-doc.html create mode 100644 api/index-all.html create mode 100644 api/index.html create mode 100644 api/overview-frame.html create mode 100644 api/overview-summary.html create mode 100644 api/overview-tree.html create mode 100644 api/package-list create mode 100644 api/proguard/analysis/CallResolver.Builder.html create mode 100644 api/proguard/analysis/CallResolver.html create mode 100644 api/proguard/analysis/CallVisitor.html create mode 100644 api/proguard/analysis/DominatorCalculator.html create mode 100644 api/proguard/analysis/Metrics.MetricType.html create mode 100644 api/proguard/analysis/Metrics.html create mode 100644 api/proguard/analysis/cpa/algorithms/CpaAlgorithm.html create mode 100644 api/proguard/analysis/cpa/algorithms/package-frame.html create mode 100644 api/proguard/analysis/cpa/algorithms/package-summary.html create mode 100644 api/proguard/analysis/cpa/algorithms/package-tree.html create mode 100644 api/proguard/analysis/cpa/bam/BamCache.html create mode 100644 api/proguard/analysis/cpa/bam/BamCacheImpl.html create mode 100644 api/proguard/analysis/cpa/bam/BamCpa.html create mode 100644 api/proguard/analysis/cpa/bam/BamLocationDependent.html create mode 100644 api/proguard/analysis/cpa/bam/BamTransferRelation.html create mode 100644 api/proguard/analysis/cpa/bam/BlockAbstraction.html create mode 100644 api/proguard/analysis/cpa/bam/CpaWithBamOperators.html create mode 100644 api/proguard/analysis/cpa/bam/ExpandOperator.html create mode 100644 api/proguard/analysis/cpa/bam/NoOpRebuildOperator.html create mode 100644 api/proguard/analysis/cpa/bam/NoOpReduceOperator.html create mode 100644 api/proguard/analysis/cpa/bam/RebuildOperator.html create mode 100644 api/proguard/analysis/cpa/bam/ReduceOperator.html create mode 100644 api/proguard/analysis/cpa/bam/package-frame.html create mode 100644 api/proguard/analysis/cpa/bam/package-summary.html create mode 100644 api/proguard/analysis/cpa/bam/package-tree.html create mode 100644 api/proguard/analysis/cpa/defaults/AbstractSingleWrapperState.html create mode 100644 api/proguard/analysis/cpa/defaults/AbstractWaitlist.html create mode 100644 api/proguard/analysis/cpa/defaults/AbstractWrapperState.html create mode 100644 api/proguard/analysis/cpa/defaults/BamCpaRun.Builder.html create mode 100644 api/proguard/analysis/cpa/defaults/BamCpaRun.html create mode 100644 api/proguard/analysis/cpa/defaults/BreadthFirstWaitlist.html create mode 100644 api/proguard/analysis/cpa/defaults/Cfa.html create mode 100644 api/proguard/analysis/cpa/defaults/ControllableAbortOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/CpaRun.html create mode 100644 api/proguard/analysis/cpa/defaults/DefaultReachedSet.html create mode 100644 api/proguard/analysis/cpa/defaults/DelegateAbstractDomain.html create mode 100644 api/proguard/analysis/cpa/defaults/DepthFirstWaitlist.html create mode 100644 api/proguard/analysis/cpa/defaults/DifferentialMap.html create mode 100644 api/proguard/analysis/cpa/defaults/DifferentialMapAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/HashMapAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/LatticeAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/LimitedHashMap.html create mode 100644 api/proguard/analysis/cpa/defaults/LimitedHashMapAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/ListAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/MapAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/MemoryLocation.html create mode 100644 api/proguard/analysis/cpa/defaults/MergeJoinOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/MergeSepOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/NeverAbortOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/PrecisionAdjustmentResult.html create mode 100644 api/proguard/analysis/cpa/defaults/ProgramLocationDependentReachedSet.html create mode 100644 api/proguard/analysis/cpa/defaults/SequentialCpaRun.PreviousRunDurationReceiver.html create mode 100644 api/proguard/analysis/cpa/defaults/SequentialCpaRun.html create mode 100644 api/proguard/analysis/cpa/defaults/SetAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/SimpleCpa.html create mode 100644 api/proguard/analysis/cpa/defaults/SingleWrapperTransferRelation.html create mode 100644 api/proguard/analysis/cpa/defaults/StackAbstractState.html create mode 100644 api/proguard/analysis/cpa/defaults/StaticPrecisionAdjustment.html create mode 100644 api/proguard/analysis/cpa/defaults/StopAlwaysOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/StopContainedOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/StopJoinOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/StopNeverOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/StopSepOperator.html create mode 100644 api/proguard/analysis/cpa/defaults/package-frame.html create mode 100644 api/proguard/analysis/cpa/defaults/package-summary.html create mode 100644 api/proguard/analysis/cpa/defaults/package-tree.html create mode 100644 api/proguard/analysis/cpa/domain/taint/TaintSink.html create mode 100644 api/proguard/analysis/cpa/domain/taint/TaintSource.html create mode 100644 api/proguard/analysis/cpa/domain/taint/package-frame.html create mode 100644 api/proguard/analysis/cpa/domain/taint/package-summary.html create mode 100644 api/proguard/analysis/cpa/domain/taint/package-tree.html create mode 100644 api/proguard/analysis/cpa/interfaces/AbortOperator.html create mode 100644 api/proguard/analysis/cpa/interfaces/AbstractDomain.html create mode 100644 api/proguard/analysis/cpa/interfaces/AbstractState.html create mode 100644 api/proguard/analysis/cpa/interfaces/Algorithm.html create mode 100644 api/proguard/analysis/cpa/interfaces/CallEdge.html create mode 100644 api/proguard/analysis/cpa/interfaces/CfaEdge.html create mode 100644 api/proguard/analysis/cpa/interfaces/CfaNode.html create mode 100644 api/proguard/analysis/cpa/interfaces/ConfigurableProgramAnalysis.html create mode 100644 api/proguard/analysis/cpa/interfaces/MergeOperator.html create mode 100644 api/proguard/analysis/cpa/interfaces/Precision.html create mode 100644 api/proguard/analysis/cpa/interfaces/PrecisionAdjustment.html create mode 100644 api/proguard/analysis/cpa/interfaces/ProgramLocationDependent.html create mode 100644 api/proguard/analysis/cpa/interfaces/ProgramLocationDependentBackwardTransferRelation.html create mode 100644 api/proguard/analysis/cpa/interfaces/ProgramLocationDependentForwardTransferRelation.html create mode 100644 api/proguard/analysis/cpa/interfaces/ProgramLocationDependentTransferRelation.html create mode 100644 api/proguard/analysis/cpa/interfaces/ReachedSet.html create mode 100644 api/proguard/analysis/cpa/interfaces/StopOperator.html create mode 100644 api/proguard/analysis/cpa/interfaces/TransferRelation.html create mode 100644 api/proguard/analysis/cpa/interfaces/Waitlist.html create mode 100644 api/proguard/analysis/cpa/interfaces/WrapperTransferRelation.html create mode 100644 api/proguard/analysis/cpa/interfaces/package-frame.html create mode 100644 api/proguard/analysis/cpa/interfaces/package-summary.html create mode 100644 api/proguard/analysis/cpa/interfaces/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCaseCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeDefaultCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeExceptionCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmCallCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/JvmInstructionCfaEdge.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/edges/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCatchCfaNode.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCfaNode.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/nodes/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/visitors/JvmIntraproceduralCfaFillerAllInstructionVisitor.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/visitors/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/visitors/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/cfa/visitors/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/BamLocationDependentJvmMemoryLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.StackEntry.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationBamCpaRun.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationCpa.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationMergeJoinOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/TraceExtractor.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/memory/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/CompositeHeapJvmAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/CompositeHeapTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapExpandOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapReduceOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceExpandOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceReduceOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/Reference.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/reference/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmBasicTaintTreeHeapFollowerAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.Builder.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmReturnTaintSink.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.Builder.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintCpa.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintExpandOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintHeapAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.Builder.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintReduceOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSink.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSource.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.InstructionAbstractInterpreter.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransformer.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTreeHeapFollowerAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/taint/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmCfaReferenceValueFactory.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.Builder.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.TransferRelationFactory.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueExpandOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueReduceOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/JvmValueTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/ValueAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/domain/value/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/operators/JvmDefaultExpandOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/operators/JvmDefaultReduceOperator.html create mode 100644 api/proguard/analysis/cpa/jvm/operators/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/operators/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/operators/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/state/JvmAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/JvmAbstractStateFactory.html create mode 100644 api/proguard/analysis/cpa/jvm/state/JvmFrameAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/HeapModel.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/JvmForgetfulHeapAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/JvmHeapAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/HeapNode.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/JvmShallowHeapAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapFollowerAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapPrincipalAbstractState.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/state/heap/tree/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/state/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/state/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/state/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.InstructionAbstractInterpreter.html create mode 100644 api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.html create mode 100644 api/proguard/analysis/cpa/jvm/transfer/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/transfer/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/transfer/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/util/CfaUtil.html create mode 100644 api/proguard/analysis/cpa/jvm/util/ConstantLookupVisitor.html create mode 100644 api/proguard/analysis/cpa/jvm/util/HeapUtil.html create mode 100644 api/proguard/analysis/cpa/jvm/util/InstructionClassifier.html create mode 100644 api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.Builder.html create mode 100644 api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.html create mode 100644 api/proguard/analysis/cpa/jvm/util/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/util/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/util/package-tree.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/JvmHeapLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/JvmLocalVariableLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/JvmMemoryLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/JvmStackLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/JvmStaticFieldLocation.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/package-frame.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/package-summary.html create mode 100644 api/proguard/analysis/cpa/jvm/witness/package-tree.html create mode 100644 api/proguard/analysis/cpa/state/DifferentialMapAbstractStateFactory.html create mode 100644 api/proguard/analysis/cpa/state/HashMapAbstractStateFactory.html create mode 100644 api/proguard/analysis/cpa/state/LimitedHashMapAbstractStateFactory.html create mode 100644 api/proguard/analysis/cpa/state/MapAbstractStateFactory.html create mode 100644 api/proguard/analysis/cpa/state/package-frame.html create mode 100644 api/proguard/analysis/cpa/state/package-summary.html create mode 100644 api/proguard/analysis/cpa/state/package-tree.html create mode 100644 api/proguard/analysis/cpa/util/StateNames.html create mode 100644 api/proguard/analysis/cpa/util/TriFunction.html create mode 100644 api/proguard/analysis/cpa/util/TriPredicate.html create mode 100644 api/proguard/analysis/cpa/util/package-frame.html create mode 100644 api/proguard/analysis/cpa/util/package-summary.html create mode 100644 api/proguard/analysis/cpa/util/package-tree.html create mode 100644 api/proguard/analysis/datastructure/CodeLocation.html create mode 100644 api/proguard/analysis/datastructure/FileLocation.html create mode 100644 api/proguard/analysis/datastructure/Location.html create mode 100644 api/proguard/analysis/datastructure/callgraph/Call.html create mode 100644 api/proguard/analysis/datastructure/callgraph/CallGraph.html create mode 100644 api/proguard/analysis/datastructure/callgraph/ConcreteCall.html create mode 100644 api/proguard/analysis/datastructure/callgraph/EntryPoint.Type.html create mode 100644 api/proguard/analysis/datastructure/callgraph/EntryPoint.html create mode 100644 api/proguard/analysis/datastructure/callgraph/Node.html create mode 100644 api/proguard/analysis/datastructure/callgraph/SymbolicCall.html create mode 100644 api/proguard/analysis/datastructure/callgraph/package-frame.html create mode 100644 api/proguard/analysis/datastructure/callgraph/package-summary.html create mode 100644 api/proguard/analysis/datastructure/callgraph/package-tree.html create mode 100644 api/proguard/analysis/datastructure/package-frame.html create mode 100644 api/proguard/analysis/datastructure/package-summary.html create mode 100644 api/proguard/analysis/datastructure/package-tree.html create mode 100644 api/proguard/analysis/package-frame.html create mode 100644 api/proguard/analysis/package-summary.html create mode 100644 api/proguard/analysis/package-tree.html create mode 100644 api/proguard/backport/LambdaExpression.html create mode 100644 api/proguard/backport/LambdaExpressionCollector.html create mode 100644 api/proguard/backport/package-frame.html create mode 100644 api/proguard/backport/package-summary.html create mode 100644 api/proguard/backport/package-tree.html create mode 100644 api/proguard/classfile/AccessConstants.html create mode 100644 api/proguard/classfile/ClassConstants.html create mode 100644 api/proguard/classfile/ClassPool.html create mode 100644 api/proguard/classfile/ClassSignature.html create mode 100644 api/proguard/classfile/Clazz.html create mode 100644 api/proguard/classfile/Field.html create mode 100644 api/proguard/classfile/FieldSignature.html create mode 100644 api/proguard/classfile/JavaAccessConstants.html create mode 100644 api/proguard/classfile/JavaConstants.html create mode 100644 api/proguard/classfile/JavaTypeConstants.html create mode 100644 api/proguard/classfile/JavaVersionConstants.html create mode 100644 api/proguard/classfile/LibraryClass.html create mode 100644 api/proguard/classfile/LibraryField.html create mode 100644 api/proguard/classfile/LibraryMember.html create mode 100644 api/proguard/classfile/LibraryMethod.html create mode 100644 api/proguard/classfile/Member.html create mode 100644 api/proguard/classfile/Method.html create mode 100644 api/proguard/classfile/MethodDescriptor.html create mode 100644 api/proguard/classfile/MethodInfo.html create mode 100644 api/proguard/classfile/MethodSignature.html create mode 100644 api/proguard/classfile/ProgramClass.html create mode 100644 api/proguard/classfile/ProgramField.html create mode 100644 api/proguard/classfile/ProgramMember.html create mode 100644 api/proguard/classfile/ProgramMethod.html create mode 100644 api/proguard/classfile/Signature.html create mode 100644 api/proguard/classfile/TypeConstants.html create mode 100644 api/proguard/classfile/VersionConstants.html create mode 100644 api/proguard/classfile/attribute/Attribute.html create mode 100644 api/proguard/classfile/attribute/BootstrapMethodInfo.html create mode 100644 api/proguard/classfile/attribute/BootstrapMethodsAttribute.html create mode 100644 api/proguard/classfile/attribute/CodeAttribute.html create mode 100644 api/proguard/classfile/attribute/ConstantValueAttribute.html create mode 100644 api/proguard/classfile/attribute/DeprecatedAttribute.html create mode 100644 api/proguard/classfile/attribute/EnclosingMethodAttribute.html create mode 100644 api/proguard/classfile/attribute/ExceptionInfo.html create mode 100644 api/proguard/classfile/attribute/ExceptionsAttribute.html create mode 100644 api/proguard/classfile/attribute/ExtendedLineNumberInfo.html create mode 100644 api/proguard/classfile/attribute/InnerClassesAttribute.html create mode 100644 api/proguard/classfile/attribute/InnerClassesInfo.html create mode 100644 api/proguard/classfile/attribute/LineNumberInfo.html create mode 100644 api/proguard/classfile/attribute/LineNumberTableAttribute.html create mode 100644 api/proguard/classfile/attribute/LocalVariableInfo.html create mode 100644 api/proguard/classfile/attribute/LocalVariableTableAttribute.html create mode 100644 api/proguard/classfile/attribute/LocalVariableTypeInfo.html create mode 100644 api/proguard/classfile/attribute/LocalVariableTypeTableAttribute.html create mode 100644 api/proguard/classfile/attribute/MethodParametersAttribute.html create mode 100644 api/proguard/classfile/attribute/NestHostAttribute.html create mode 100644 api/proguard/classfile/attribute/NestMembersAttribute.html create mode 100644 api/proguard/classfile/attribute/ParameterInfo.html create mode 100644 api/proguard/classfile/attribute/PermittedSubclassesAttribute.html create mode 100644 api/proguard/classfile/attribute/RecordAttribute.html create mode 100644 api/proguard/classfile/attribute/RecordComponentInfo.html create mode 100644 api/proguard/classfile/attribute/SignatureAttribute.html create mode 100644 api/proguard/classfile/attribute/SourceDebugExtensionAttribute.html create mode 100644 api/proguard/classfile/attribute/SourceDirAttribute.html create mode 100644 api/proguard/classfile/attribute/SourceFileAttribute.html create mode 100644 api/proguard/classfile/attribute/SyntheticAttribute.html create mode 100644 api/proguard/classfile/attribute/UnknownAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/Annotation.html create mode 100644 api/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/AnnotationElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/AnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/ArrayElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/ClassElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/ConstantElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/ElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/EnumConstantElementValue.html create mode 100644 api/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeInvisibleTypeAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/RuntimeVisibleTypeAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/TypeAnnotation.html create mode 100644 api/proguard/classfile/attribute/annotation/TypeAnnotationsAttribute.html create mode 100644 api/proguard/classfile/attribute/annotation/TypePathInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/package-frame.html create mode 100644 api/proguard/classfile/attribute/annotation/package-summary.html create mode 100644 api/proguard/classfile/attribute/annotation/package-tree.html create mode 100644 api/proguard/classfile/attribute/annotation/target/CatchTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/EmptyTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/FormalParameterTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/LocalVariableTargetElement.html create mode 100644 api/proguard/classfile/attribute/annotation/target/LocalVariableTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/OffsetTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/SuperTypeTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/TargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/ThrowsTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/TypeArgumentTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/TypeParameterBoundTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/TypeParameterTargetInfo.html create mode 100644 api/proguard/classfile/attribute/annotation/target/package-frame.html create mode 100644 api/proguard/classfile/attribute/annotation/target/package-summary.html create mode 100644 api/proguard/classfile/attribute/annotation/target/package-tree.html create mode 100644 api/proguard/classfile/attribute/annotation/target/visitor/LocalVariableTargetElementVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/target/visitor/TargetInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/target/visitor/package-frame.html create mode 100644 api/proguard/classfile/attribute/annotation/target/visitor/package-summary.html create mode 100644 api/proguard/classfile/attribute/annotation/target/visitor/package-tree.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AllElementValueVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedClassVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedMemberVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/MultiAnnotationVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/TypeAnnotationVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/TypePathInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/package-frame.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/package-summary.html create mode 100644 api/proguard/classfile/attribute/annotation/visitor/package-tree.html create mode 100644 api/proguard/classfile/attribute/module/ExportsInfo.html create mode 100644 api/proguard/classfile/attribute/module/ModuleAttribute.html create mode 100644 api/proguard/classfile/attribute/module/ModuleMainClassAttribute.html create mode 100644 api/proguard/classfile/attribute/module/ModulePackagesAttribute.html create mode 100644 api/proguard/classfile/attribute/module/OpensInfo.html create mode 100644 api/proguard/classfile/attribute/module/ProvidesInfo.html create mode 100644 api/proguard/classfile/attribute/module/RequiresInfo.html create mode 100644 api/proguard/classfile/attribute/module/package-frame.html create mode 100644 api/proguard/classfile/attribute/module/package-summary.html create mode 100644 api/proguard/classfile/attribute/module/package-tree.html create mode 100644 api/proguard/classfile/attribute/module/visitor/AllExportsInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/AllOpensInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/AllProvidesInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/AllRequiresInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/ExportsInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/OpensInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/ProvidesInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/RequiresInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/module/visitor/package-frame.html create mode 100644 api/proguard/classfile/attribute/module/visitor/package-summary.html create mode 100644 api/proguard/classfile/attribute/module/visitor/package-tree.html create mode 100644 api/proguard/classfile/attribute/package-frame.html create mode 100644 api/proguard/classfile/attribute/package-summary.html create mode 100644 api/proguard/classfile/attribute/package-tree.html create mode 100644 api/proguard/classfile/attribute/preverification/DoubleType.html create mode 100644 api/proguard/classfile/attribute/preverification/FloatType.html create mode 100644 api/proguard/classfile/attribute/preverification/FullFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/IntegerType.html create mode 100644 api/proguard/classfile/attribute/preverification/LessZeroFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/LongType.html create mode 100644 api/proguard/classfile/attribute/preverification/MoreZeroFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/NullType.html create mode 100644 api/proguard/classfile/attribute/preverification/ObjectType.html create mode 100644 api/proguard/classfile/attribute/preverification/SameOneFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/SameZeroFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/StackMapAttribute.html create mode 100644 api/proguard/classfile/attribute/preverification/StackMapFrame.html create mode 100644 api/proguard/classfile/attribute/preverification/StackMapTableAttribute.html create mode 100644 api/proguard/classfile/attribute/preverification/TopType.html create mode 100644 api/proguard/classfile/attribute/preverification/UninitializedThisType.html create mode 100644 api/proguard/classfile/attribute/preverification/UninitializedType.html create mode 100644 api/proguard/classfile/attribute/preverification/VerificationType.html create mode 100644 api/proguard/classfile/attribute/preverification/VerificationTypeFactory.html create mode 100644 api/proguard/classfile/attribute/preverification/package-frame.html create mode 100644 api/proguard/classfile/attribute/preverification/package-summary.html create mode 100644 api/proguard/classfile/attribute/preverification/package-tree.html create mode 100644 api/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.html create mode 100644 api/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.html create mode 100644 api/proguard/classfile/attribute/preverification/visitor/package-frame.html create mode 100644 api/proguard/classfile/attribute/preverification/visitor/package-summary.html create mode 100644 api/proguard/classfile/attribute/preverification/visitor/package-tree.html create mode 100644 api/proguard/classfile/attribute/visitor/AllAttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AllLineNumberInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AllRecordComponentInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeConstantVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeCounter.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeNameFilter.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeProcessingFlagFilter.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeToClassVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/AttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/CodeAttributeToMethodVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/DebugAttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/LineNumberRangeFinder.html create mode 100644 api/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.StackSizeConsumer.html create mode 100644 api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.html create mode 100644 api/proguard/classfile/attribute/visitor/MultiAttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.html create mode 100644 api/proguard/classfile/attribute/visitor/ParameterInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/RecordComponentInfoVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/RequiredAttributeFilter.html create mode 100644 api/proguard/classfile/attribute/visitor/SingleTimeAttributeVisitor.html create mode 100644 api/proguard/classfile/attribute/visitor/StackSizeComputer.html create mode 100644 api/proguard/classfile/attribute/visitor/package-frame.html create mode 100644 api/proguard/classfile/attribute/visitor/package-summary.html create mode 100644 api/proguard/classfile/attribute/visitor/package-tree.html create mode 100644 api/proguard/classfile/constant/AnyMethodrefConstant.html create mode 100644 api/proguard/classfile/constant/ClassConstant.html create mode 100644 api/proguard/classfile/constant/Constant.html create mode 100644 api/proguard/classfile/constant/DoubleConstant.html create mode 100644 api/proguard/classfile/constant/DynamicConstant.html create mode 100644 api/proguard/classfile/constant/FieldrefConstant.html create mode 100644 api/proguard/classfile/constant/FloatConstant.html create mode 100644 api/proguard/classfile/constant/IntegerConstant.html create mode 100644 api/proguard/classfile/constant/InterfaceMethodrefConstant.html create mode 100644 api/proguard/classfile/constant/InvokeDynamicConstant.html create mode 100644 api/proguard/classfile/constant/LongConstant.html create mode 100644 api/proguard/classfile/constant/MethodHandleConstant.html create mode 100644 api/proguard/classfile/constant/MethodTypeConstant.html create mode 100644 api/proguard/classfile/constant/MethodrefConstant.html create mode 100644 api/proguard/classfile/constant/ModuleConstant.html create mode 100644 api/proguard/classfile/constant/NameAndTypeConstant.html create mode 100644 api/proguard/classfile/constant/PackageConstant.html create mode 100644 api/proguard/classfile/constant/PrimitiveArrayConstant.html create mode 100644 api/proguard/classfile/constant/RefConstant.html create mode 100644 api/proguard/classfile/constant/StringConstant.html create mode 100644 api/proguard/classfile/constant/Utf8Constant.html create mode 100644 api/proguard/classfile/constant/package-frame.html create mode 100644 api/proguard/classfile/constant/package-summary.html create mode 100644 api/proguard/classfile/constant/package-tree.html create mode 100644 api/proguard/classfile/constant/visitor/AllBootstrapMethodArgumentVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/AllConstantVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.html create mode 100644 api/proguard/classfile/constant/visitor/ConstantCounter.html create mode 100644 api/proguard/classfile/constant/visitor/ConstantStringBuilder.html create mode 100644 api/proguard/classfile/constant/visitor/ConstantTagFilter.html create mode 100644 api/proguard/classfile/constant/visitor/ConstantVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/ExceptClassConstantFilter.html create mode 100644 api/proguard/classfile/constant/visitor/MethodrefTraveler.html create mode 100644 api/proguard/classfile/constant/visitor/PrimitiveArrayConstantElementVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/PrimitiveArrayConstantVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/SuperClassConstantVisitor.html create mode 100644 api/proguard/classfile/constant/visitor/package-frame.html create mode 100644 api/proguard/classfile/constant/visitor/package-summary.html create mode 100644 api/proguard/classfile/constant/visitor/package-tree.html create mode 100644 api/proguard/classfile/editor/AccessFixer.html create mode 100644 api/proguard/classfile/editor/AnnotationAdder.html create mode 100644 api/proguard/classfile/editor/AnnotationsAttributeEditor.html create mode 100644 api/proguard/classfile/editor/AttributeAdder.html create mode 100644 api/proguard/classfile/editor/AttributeSorter.html create mode 100644 api/proguard/classfile/editor/AttributesEditor.html create mode 100644 api/proguard/classfile/editor/BootstrapMethodInfoAdder.html create mode 100644 api/proguard/classfile/editor/BootstrapMethodRemapper.html create mode 100644 api/proguard/classfile/editor/BootstrapMethodsAttributeAdder.html create mode 100644 api/proguard/classfile/editor/BootstrapMethodsAttributeEditor.html create mode 100644 api/proguard/classfile/editor/BootstrapMethodsAttributeShrinker.html create mode 100644 api/proguard/classfile/editor/BridgeMethodFixer.html create mode 100644 api/proguard/classfile/editor/ClassBuilder.CodeBuilder.html create mode 100644 api/proguard/classfile/editor/ClassBuilder.html create mode 100644 api/proguard/classfile/editor/ClassEditor.html create mode 100644 api/proguard/classfile/editor/ClassElementSorter.html create mode 100644 api/proguard/classfile/editor/ClassEstimates.html create mode 100644 api/proguard/classfile/editor/ClassMemberSorter.html create mode 100644 api/proguard/classfile/editor/ClassReferenceFixer.NameGenerationStrategy.html create mode 100644 api/proguard/classfile/editor/ClassReferenceFixer.html create mode 100644 api/proguard/classfile/editor/CodeAttributeComposer.html create mode 100644 api/proguard/classfile/editor/CodeAttributeEditor.Label.html create mode 100644 api/proguard/classfile/editor/CodeAttributeEditor.html create mode 100644 api/proguard/classfile/editor/CodeAttributeEditorResetter.html create mode 100644 api/proguard/classfile/editor/CompactCodeAttributeComposer.Label.html create mode 100644 api/proguard/classfile/editor/CompactCodeAttributeComposer.html create mode 100644 api/proguard/classfile/editor/ConstantAdder.html create mode 100644 api/proguard/classfile/editor/ConstantPoolEditor.html create mode 100644 api/proguard/classfile/editor/ConstantPoolRemapper.html create mode 100644 api/proguard/classfile/editor/ConstantPoolShrinker.html create mode 100644 api/proguard/classfile/editor/ConstantPoolSorter.html create mode 100644 api/proguard/classfile/editor/ElementValueAdder.html create mode 100644 api/proguard/classfile/editor/ElementValuesEditor.html create mode 100644 api/proguard/classfile/editor/ExceptionAdder.html create mode 100644 api/proguard/classfile/editor/ExceptionInfoAdder.html create mode 100644 api/proguard/classfile/editor/ExceptionInfoEditor.html create mode 100644 api/proguard/classfile/editor/ExceptionsAttributeEditor.html create mode 100644 api/proguard/classfile/editor/InitializerEditor.CodeBuilder.html create mode 100644 api/proguard/classfile/editor/InitializerEditor.html create mode 100644 api/proguard/classfile/editor/InnerClassesAccessFixer.html create mode 100644 api/proguard/classfile/editor/InnerClassesAttributeEditor.html create mode 100644 api/proguard/classfile/editor/InstructionAdder.html create mode 100644 api/proguard/classfile/editor/InstructionSequenceBuilder.html create mode 100644 api/proguard/classfile/editor/InstructionSequenceReplacer.Label.html create mode 100644 api/proguard/classfile/editor/InstructionSequenceReplacer.html create mode 100644 api/proguard/classfile/editor/InstructionSequencesReplacer.html create mode 100644 api/proguard/classfile/editor/InstructionWriter.html create mode 100644 api/proguard/classfile/editor/InterfaceAdder.html create mode 100644 api/proguard/classfile/editor/InterfaceDeleter.html create mode 100644 api/proguard/classfile/editor/InterfaceSorter.html create mode 100644 api/proguard/classfile/editor/InterfacesEditor.html create mode 100644 api/proguard/classfile/editor/LibraryClassBuilder.html create mode 100644 api/proguard/classfile/editor/LibraryClassEditor.html create mode 100644 api/proguard/classfile/editor/LineNumberInfoAdder.html create mode 100644 api/proguard/classfile/editor/LineNumberTableAttributeEditor.html create mode 100644 api/proguard/classfile/editor/LineNumberTableAttributeTrimmer.html create mode 100644 api/proguard/classfile/editor/LocalVariableInfoAdder.html create mode 100644 api/proguard/classfile/editor/LocalVariableTableAttributeEditor.html create mode 100644 api/proguard/classfile/editor/LocalVariableTypeInfoAdder.html create mode 100644 api/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.html create mode 100644 api/proguard/classfile/editor/MemberAdder.html create mode 100644 api/proguard/classfile/editor/MemberReferenceFixer.html create mode 100644 api/proguard/classfile/editor/MemberRemover.html create mode 100644 api/proguard/classfile/editor/MethodCopier.html create mode 100644 api/proguard/classfile/editor/MethodInvocationFixer.html create mode 100644 api/proguard/classfile/editor/NameAndTypeShrinker.html create mode 100644 api/proguard/classfile/editor/NamedAttributeDeleter.html create mode 100644 api/proguard/classfile/editor/NestMemberAdder.html create mode 100644 api/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.html create mode 100644 api/proguard/classfile/editor/ParameterInfoAdder.html create mode 100644 api/proguard/classfile/editor/PeepholeEditor.html create mode 100644 api/proguard/classfile/editor/PermittedSubclassAdder.html create mode 100644 api/proguard/classfile/editor/StackSizeUpdater.html create mode 100644 api/proguard/classfile/editor/SubclassAdder.html create mode 100644 api/proguard/classfile/editor/SubclassRemover.html create mode 100644 api/proguard/classfile/editor/SubclassToAdder.html create mode 100644 api/proguard/classfile/editor/TargetInfoCopier.html create mode 100644 api/proguard/classfile/editor/TypeAnnotationAdder.html create mode 100644 api/proguard/classfile/editor/Utf8Shrinker.html create mode 100644 api/proguard/classfile/editor/VariableCleaner.html create mode 100644 api/proguard/classfile/editor/VariableEditor.html create mode 100644 api/proguard/classfile/editor/VariableRemapper.html create mode 100644 api/proguard/classfile/editor/VariableSizeUpdater.html create mode 100644 api/proguard/classfile/editor/package-frame.html create mode 100644 api/proguard/classfile/editor/package-summary.html create mode 100644 api/proguard/classfile/editor/package-tree.html create mode 100644 api/proguard/classfile/exception/NegativeStackSizeException.html create mode 100644 api/proguard/classfile/exception/package-frame.html create mode 100644 api/proguard/classfile/exception/package-summary.html create mode 100644 api/proguard/classfile/exception/package-tree.html create mode 100644 api/proguard/classfile/instruction/BranchInstruction.html create mode 100644 api/proguard/classfile/instruction/ConstantInstruction.html create mode 100644 api/proguard/classfile/instruction/Instruction.html create mode 100644 api/proguard/classfile/instruction/InstructionFactory.html create mode 100644 api/proguard/classfile/instruction/InstructionUtil.html create mode 100644 api/proguard/classfile/instruction/LookUpSwitchInstruction.html create mode 100644 api/proguard/classfile/instruction/SimpleInstruction.html create mode 100644 api/proguard/classfile/instruction/SwitchInstruction.html create mode 100644 api/proguard/classfile/instruction/TableSwitchInstruction.html create mode 100644 api/proguard/classfile/instruction/VariableInstruction.html create mode 100644 api/proguard/classfile/instruction/package-frame.html create mode 100644 api/proguard/classfile/instruction/package-summary.html create mode 100644 api/proguard/classfile/instruction/package-tree.html create mode 100644 api/proguard/classfile/instruction/visitor/AllInstructionVisitor.html create mode 100644 api/proguard/classfile/instruction/visitor/InstructionConstantVisitor.html create mode 100644 api/proguard/classfile/instruction/visitor/InstructionCounter.html create mode 100644 api/proguard/classfile/instruction/visitor/InstructionOpCodeFilter.html create mode 100644 api/proguard/classfile/instruction/visitor/InstructionVisitor.html create mode 100644 api/proguard/classfile/instruction/visitor/MultiInstructionVisitor.html create mode 100644 api/proguard/classfile/instruction/visitor/package-frame.html create mode 100644 api/proguard/classfile/instruction/visitor/package-summary.html create mode 100644 api/proguard/classfile/instruction/visitor/package-tree.html create mode 100644 api/proguard/classfile/io/LibraryClassReader.KotlinMetadataElementValueConsumer.html create mode 100644 api/proguard/classfile/io/LibraryClassReader.html create mode 100644 api/proguard/classfile/io/ProgramClassReader.html create mode 100644 api/proguard/classfile/io/ProgramClassWriter.html create mode 100644 api/proguard/classfile/io/kotlin/KotlinMetadataWriter.html create mode 100644 api/proguard/classfile/io/kotlin/package-frame.html create mode 100644 api/proguard/classfile/io/kotlin/package-summary.html create mode 100644 api/proguard/classfile/io/kotlin/package-tree.html create mode 100644 api/proguard/classfile/io/package-frame.html create mode 100644 api/proguard/classfile/io/package-summary.html create mode 100644 api/proguard/classfile/io/package-tree.html create mode 100644 api/proguard/classfile/io/visitor/ProcessingFlagDataEntryFilter.html create mode 100644 api/proguard/classfile/io/visitor/package-frame.html create mode 100644 api/proguard/classfile/io/visitor/package-summary.html create mode 100644 api/proguard/classfile/io/visitor/package-tree.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotatable.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotation.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.AnnotationValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.ArrayValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.BooleanValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.ByteValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.CharValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.ClassValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.DoubleValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.EnumValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.FloatValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.IntValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.LiteralValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.LongValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.ShortValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.StringValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.UByteValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.UIntValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.ULongValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.UShortValue.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.Value.html create mode 100644 api/proguard/classfile/kotlin/KotlinAnnotationArgument.html create mode 100644 api/proguard/classfile/kotlin/KotlinClassKindMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinConstants.MODULE.html create mode 100644 api/proguard/classfile/kotlin/KotlinConstants.REFLECTION.html create mode 100644 api/proguard/classfile/kotlin/KotlinConstants.html create mode 100644 api/proguard/classfile/kotlin/KotlinConstructorMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinContractMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinEffectExpressionMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinEffectMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinFileFacadeKindMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinFunctionMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinMetadataVersion.html create mode 100644 api/proguard/classfile/kotlin/KotlinMultiFileFacadeKindMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinMultiFilePartKindMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinPropertyMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.Flavor.html create mode 100644 api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinTypeMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinTypeVariance.html create mode 100644 api/proguard/classfile/kotlin/KotlinValueParameterMetadata.html create mode 100644 api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html create mode 100644 api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinClassFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinCommonFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinConstructorFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinEffectExpressionFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinFunctionFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinModalityFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinPropertyFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinTypeParameterFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/KotlinVisibilityFlags.html create mode 100644 api/proguard/classfile/kotlin/flags/package-frame.html create mode 100644 api/proguard/classfile/kotlin/flags/package-summary.html create mode 100644 api/proguard/classfile/kotlin/flags/package-tree.html create mode 100644 api/proguard/classfile/kotlin/package-frame.html create mode 100644 api/proguard/classfile/kotlin/package-summary.html create mode 100644 api/proguard/classfile/kotlin/package-tree.html create mode 100644 api/proguard/classfile/kotlin/reflect/CallableReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/FunctionReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/JavaFieldReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/JavaMethodReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/JavaReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/PropertyReferenceInfo.html create mode 100644 api/proguard/classfile/kotlin/reflect/package-frame.html create mode 100644 api/proguard/classfile/kotlin/reflect/package-summary.html create mode 100644 api/proguard/classfile/kotlin/reflect/package-tree.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/package-frame.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/package-summary.html create mode 100644 api/proguard/classfile/kotlin/reflect/util/package-tree.html create mode 100644 api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoToOwnerVisitor.html create mode 100644 api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoVisitor.html create mode 100644 api/proguard/classfile/kotlin/reflect/visitor/package-frame.html create mode 100644 api/proguard/classfile/kotlin/reflect/visitor/package-summary.html create mode 100644 api/proguard/classfile/kotlin/reflect/visitor/package-tree.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllConstructorVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllFunctionVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationArgumentVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllPropertyVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllTypeAliasVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllTypeParameterVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllTypeVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/AllValueParameterVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinAnnotationArgumentVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinAnnotationVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinClassToAnonymousObjectOriginClassVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinClassToDefaultImplsClassVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinClassToInlineOriginFunctionVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinClassVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinConstructorVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinContractVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinEffectExprVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinEffectVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinFileFacadeVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinFunctionToDefaultMethodVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinFunctionToMethodVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinFunctionVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMetadataRemover.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMetadataToClazzVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMetadataVersionFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMetadataVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMultiFileFacadeVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinMultiFilePartVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinPropertyVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinSyntheticClassVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinTypeAliasVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinTypeParameterVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinTypeVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinValueParameterVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/KotlinVersionRequirementVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/MemberToKotlinPropertyVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/MethodToKotlinConstructorVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/MethodToKotlinFunctionVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/MultiKotlinMetadataVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/MultiKotlinTypeParameterVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/ReferencedKotlinMetadataVisitor.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationArgumentFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinClassFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinClassKindFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinConstructorFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinDeclarationContainerFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinFunctionFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinMetadataFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinMultiFilePartKindFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinPropertyFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinSyntheticClassKindFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinTypeAliasFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinTypeFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinTypeParameterFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/KotlinValueParameterFilter.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/package-frame.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/package-summary.html create mode 100644 api/proguard/classfile/kotlin/visitor/filter/package-tree.html create mode 100644 api/proguard/classfile/kotlin/visitor/package-frame.html create mode 100644 api/proguard/classfile/kotlin/visitor/package-summary.html create mode 100644 api/proguard/classfile/kotlin/visitor/package-tree.html create mode 100644 api/proguard/classfile/package-frame.html create mode 100644 api/proguard/classfile/package-summary.html create mode 100644 api/proguard/classfile/package-tree.html create mode 100644 api/proguard/classfile/util/AccessUtil.html create mode 100644 api/proguard/classfile/util/AllParameterVisitor.html create mode 100644 api/proguard/classfile/util/ArrayInitializationMatcher.html create mode 100644 api/proguard/classfile/util/ArrayInitializationReplacer.html create mode 100644 api/proguard/classfile/util/BranchTargetFinder.html create mode 100644 api/proguard/classfile/util/ClassInitializer.html create mode 100644 api/proguard/classfile/util/ClassPoolClassLoader.html create mode 100644 api/proguard/classfile/util/ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer.html create mode 100644 api/proguard/classfile/util/ClassReferenceInitializer.html create mode 100644 api/proguard/classfile/util/ClassRenamer.html create mode 100644 api/proguard/classfile/util/ClassSubHierarchyInitializer.html create mode 100644 api/proguard/classfile/util/ClassSuperHierarchyInitializer.html create mode 100644 api/proguard/classfile/util/ClassUtil.html create mode 100644 api/proguard/classfile/util/DescriptorClassEnumeration.html create mode 100644 api/proguard/classfile/util/DynamicClassReferenceInitializer.html create mode 100644 api/proguard/classfile/util/DynamicMemberReferenceInitializer.html create mode 100644 api/proguard/classfile/util/EnumFieldReferenceInitializer.html create mode 100644 api/proguard/classfile/util/ExternalTypeEnumeration.html create mode 100644 api/proguard/classfile/util/InitializationUtil.html create mode 100644 api/proguard/classfile/util/InitializedClassUtil.html create mode 100644 api/proguard/classfile/util/InstructionSequenceMatcher.html create mode 100644 api/proguard/classfile/util/InternalTypeEnumeration.html create mode 100644 api/proguard/classfile/util/InternalTypeIterable.html create mode 100644 api/proguard/classfile/util/InvalidClassReferenceVisitor.html create mode 100644 api/proguard/classfile/util/InvalidMemberReferenceVisitor.html create mode 100644 api/proguard/classfile/util/InvalidReferenceVisitor.html create mode 100644 api/proguard/classfile/util/MemberFinder.html create mode 100644 api/proguard/classfile/util/MemberRenamer.html create mode 100644 api/proguard/classfile/util/MethodLinker.html create mode 100644 api/proguard/classfile/util/NestHostFinder.html create mode 100644 api/proguard/classfile/util/PrimitiveArrayConstantReplacer.html create mode 100644 api/proguard/classfile/util/StringReferenceInitializer.html create mode 100644 api/proguard/classfile/util/StringSharer.html create mode 100644 api/proguard/classfile/util/WarningLogger.html create mode 100644 api/proguard/classfile/util/WarningPrinter.html create mode 100644 api/proguard/classfile/util/WildcardConstantFilter.html create mode 100644 api/proguard/classfile/util/kotlin/KotlinMetadataInitializer.html create mode 100644 api/proguard/classfile/util/kotlin/KotlinMetadataType.html create mode 100644 api/proguard/classfile/util/kotlin/KotlinNameUtil.html create mode 100644 api/proguard/classfile/util/kotlin/KotlinStringUtil.html create mode 100644 api/proguard/classfile/util/kotlin/package-frame.html create mode 100644 api/proguard/classfile/util/kotlin/package-summary.html create mode 100644 api/proguard/classfile/util/kotlin/package-tree.html create mode 100644 api/proguard/classfile/util/package-frame.html create mode 100644 api/proguard/classfile/util/package-summary.html create mode 100644 api/proguard/classfile/util/package-tree.html create mode 100644 api/proguard/classfile/util/renderer/ClassViewModel.html create mode 100644 api/proguard/classfile/util/renderer/ConstantViewModel.html create mode 100644 api/proguard/classfile/util/renderer/FieldViewModel.html create mode 100644 api/proguard/classfile/util/renderer/MemberViewModel.Pair.html create mode 100644 api/proguard/classfile/util/renderer/MemberViewModel.html create mode 100644 api/proguard/classfile/util/renderer/MethodViewModel.html create mode 100644 api/proguard/classfile/util/renderer/ProcessableViewModel.html create mode 100644 api/proguard/classfile/util/renderer/core/StringListWriter.html create mode 100644 api/proguard/classfile/util/renderer/core/package-frame.html create mode 100644 api/proguard/classfile/util/renderer/core/package-summary.html create mode 100644 api/proguard/classfile/util/renderer/core/package-tree.html create mode 100644 api/proguard/classfile/util/renderer/package-frame.html create mode 100644 api/proguard/classfile/util/renderer/package-summary.html create mode 100644 api/proguard/classfile/util/renderer/package-tree.html create mode 100644 api/proguard/classfile/visitor/AllClassVisitor.html create mode 100644 api/proguard/classfile/visitor/AllFieldVisitor.html create mode 100644 api/proguard/classfile/visitor/AllMemberVisitor.html create mode 100644 api/proguard/classfile/visitor/AllMethodVisitor.html create mode 100644 api/proguard/classfile/visitor/BottomClassFilter.html create mode 100644 api/proguard/classfile/visitor/ClassAccessFilter.html create mode 100644 api/proguard/classfile/visitor/ClassCleaner.html create mode 100644 api/proguard/classfile/visitor/ClassCollector.html create mode 100644 api/proguard/classfile/visitor/ClassConstantClassFilter.html create mode 100644 api/proguard/classfile/visitor/ClassCounter.html create mode 100644 api/proguard/classfile/visitor/ClassFeatureNameCollector.html create mode 100644 api/proguard/classfile/visitor/ClassHierarchyTraveler.html create mode 100644 api/proguard/classfile/visitor/ClassNameCollector.html create mode 100644 api/proguard/classfile/visitor/ClassNameFilter.html create mode 100644 api/proguard/classfile/visitor/ClassPoolClassVisitor.html create mode 100644 api/proguard/classfile/visitor/ClassPoolFiller.html create mode 100644 api/proguard/classfile/visitor/ClassPoolRemover.html create mode 100644 api/proguard/classfile/visitor/ClassPoolVisitor.html create mode 100644 api/proguard/classfile/visitor/ClassPresenceFilter.html create mode 100644 api/proguard/classfile/visitor/ClassPrinter.html create mode 100644 api/proguard/classfile/visitor/ClassProcessingFlagFilter.html create mode 100644 api/proguard/classfile/visitor/ClassProcessingInfoFilter.html create mode 100644 api/proguard/classfile/visitor/ClassVersionFilter.html create mode 100644 api/proguard/classfile/visitor/ClassVersionSetter.html create mode 100644 api/proguard/classfile/visitor/ClassVisitor.html create mode 100644 api/proguard/classfile/visitor/ConcreteClassDownTraveler.html create mode 100644 api/proguard/classfile/visitor/ConstantProcessingFlagFilter.html create mode 100644 api/proguard/classfile/visitor/ConstructorMethodFilter.html create mode 100644 api/proguard/classfile/visitor/CounterConditionalClassVisitor.html create mode 100644 api/proguard/classfile/visitor/DotClassClassVisitor.html create mode 100644 api/proguard/classfile/visitor/DynamicReturnedClassVisitor.html create mode 100644 api/proguard/classfile/visitor/ExceptClassFilter.html create mode 100644 api/proguard/classfile/visitor/ExceptClassesFilter.html create mode 100644 api/proguard/classfile/visitor/ExceptionCounter.html create mode 100644 api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html create mode 100644 api/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.html create mode 100644 api/proguard/classfile/visitor/ExceptionHandlerFilter.html create mode 100644 api/proguard/classfile/visitor/ExceptionOffsetFilter.html create mode 100644 api/proguard/classfile/visitor/ExceptionRangeFilter.html create mode 100644 api/proguard/classfile/visitor/FilteredClassVisitor.html create mode 100644 api/proguard/classfile/visitor/FunctionalInterfaceFilter.html create mode 100644 api/proguard/classfile/visitor/ImplementedClassConstantFilter.html create mode 100644 api/proguard/classfile/visitor/ImplementedClassFilter.html create mode 100644 api/proguard/classfile/visitor/ImplementingClassConstantFilter.html create mode 100644 api/proguard/classfile/visitor/InitializerMethodFilter.html create mode 100644 api/proguard/classfile/visitor/LibraryClassFilter.html create mode 100644 api/proguard/classfile/visitor/LibraryMemberFilter.html create mode 100644 api/proguard/classfile/visitor/LineNumberFinder.html create mode 100644 api/proguard/classfile/visitor/MemberAccessFilter.html create mode 100644 api/proguard/classfile/visitor/MemberAccessFlagCleaner.html create mode 100644 api/proguard/classfile/visitor/MemberAccessFlagSetter.html create mode 100644 api/proguard/classfile/visitor/MemberAccessSetter.html create mode 100644 api/proguard/classfile/visitor/MemberClassAccessFilter.html create mode 100644 api/proguard/classfile/visitor/MemberCollectionFilter.html create mode 100644 api/proguard/classfile/visitor/MemberCollector.html create mode 100644 api/proguard/classfile/visitor/MemberCounter.html create mode 100644 api/proguard/classfile/visitor/MemberDescriptorFilter.html create mode 100644 api/proguard/classfile/visitor/MemberDescriptorReferencedClassVisitor.html create mode 100644 api/proguard/classfile/visitor/MemberNameFilter.html create mode 100644 api/proguard/classfile/visitor/MemberProcessingFlagFilter.html create mode 100644 api/proguard/classfile/visitor/MemberToClassVisitor.html create mode 100644 api/proguard/classfile/visitor/MemberVisitor.html create mode 100644 api/proguard/classfile/visitor/MethodCollector.html create mode 100644 api/proguard/classfile/visitor/MethodCounter.html create mode 100644 api/proguard/classfile/visitor/MethodFilter.html create mode 100644 api/proguard/classfile/visitor/MethodImplementationFilter.html create mode 100644 api/proguard/classfile/visitor/MethodImplementationTraveler.html create mode 100644 api/proguard/classfile/visitor/MultiClassPoolVisitor.html create mode 100644 api/proguard/classfile/visitor/MultiClassVisitor.html create mode 100644 api/proguard/classfile/visitor/MultiConstantVisitor.html create mode 100644 api/proguard/classfile/visitor/MultiMemberVisitor.html create mode 100644 api/proguard/classfile/visitor/NamedClassVisitor.html create mode 100644 api/proguard/classfile/visitor/NamedFieldVisitor.html create mode 100644 api/proguard/classfile/visitor/NamedMethodVisitor.html create mode 100644 api/proguard/classfile/visitor/ParallelAllClassVisitor.ClassVisitorFactory.html create mode 100644 api/proguard/classfile/visitor/ParallelAllClassVisitor.html create mode 100644 api/proguard/classfile/visitor/ParameterVisitor.html create mode 100644 api/proguard/classfile/visitor/ProcessingInfoSetter.html create mode 100644 api/proguard/classfile/visitor/ProgramClassFilter.html create mode 100644 api/proguard/classfile/visitor/ProgramMemberFilter.html create mode 100644 api/proguard/classfile/visitor/ReferencedClassVisitor.html create mode 100644 api/proguard/classfile/visitor/ReferencedClassesExtractor.html create mode 100644 api/proguard/classfile/visitor/ReferencedMemberVisitor.html create mode 100644 api/proguard/classfile/visitor/SignatureAdapter.html create mode 100644 api/proguard/classfile/visitor/SignatureAttributeReferencedClassVisitor.html create mode 100644 api/proguard/classfile/visitor/SimilarMemberVisitor.html create mode 100644 api/proguard/classfile/visitor/SimpleClassPrinter.html create mode 100644 api/proguard/classfile/visitor/SingleTimeClassVisitor.html create mode 100644 api/proguard/classfile/visitor/SubclassFilter.html create mode 100644 api/proguard/classfile/visitor/SubclassTraveler.html create mode 100644 api/proguard/classfile/visitor/UniqueClassFilter.html create mode 100644 api/proguard/classfile/visitor/VariableClassVisitor.html create mode 100644 api/proguard/classfile/visitor/VariableMemberVisitor.html create mode 100644 api/proguard/classfile/visitor/package-frame.html create mode 100644 api/proguard/classfile/visitor/package-summary.html create mode 100644 api/proguard/classfile/visitor/package-tree.html create mode 100644 api/proguard/dexfile/AndroidConstants.html create mode 100644 api/proguard/dexfile/converter/Dex2IRConverter.html create mode 100644 api/proguard/dexfile/converter/Dex2Pro.html create mode 100644 api/proguard/dexfile/converter/DexFix.html create mode 100644 api/proguard/dexfile/converter/IR2ProConverter.html create mode 100644 api/proguard/dexfile/converter/package-frame.html create mode 100644 api/proguard/dexfile/converter/package-summary.html create mode 100644 api/proguard/dexfile/converter/package-tree.html create mode 100644 api/proguard/dexfile/ir/ET.html create mode 100644 api/proguard/dexfile/ir/IrMethod.html create mode 100644 api/proguard/dexfile/ir/LabelAndLocalMapper.html create mode 100644 api/proguard/dexfile/ir/LocalVar.html create mode 100644 api/proguard/dexfile/ir/StmtSearcher.html create mode 100644 api/proguard/dexfile/ir/StmtTraveler.html create mode 100644 api/proguard/dexfile/ir/Trap.html create mode 100644 api/proguard/dexfile/ir/TypeClass.html create mode 100644 api/proguard/dexfile/ir/Util.html create mode 100644 api/proguard/dexfile/ir/expr/AbstractInvokeExpr.html create mode 100644 api/proguard/dexfile/ir/expr/ArrayExpr.html create mode 100644 api/proguard/dexfile/ir/expr/BinopExpr.html create mode 100644 api/proguard/dexfile/ir/expr/CastExpr.html create mode 100644 api/proguard/dexfile/ir/expr/Constant.html create mode 100644 api/proguard/dexfile/ir/expr/Exprs.html create mode 100644 api/proguard/dexfile/ir/expr/FieldExpr.html create mode 100644 api/proguard/dexfile/ir/expr/FilledArrayExpr.html create mode 100644 api/proguard/dexfile/ir/expr/InvokeCustomExpr.html create mode 100644 api/proguard/dexfile/ir/expr/InvokeExpr.html create mode 100644 api/proguard/dexfile/ir/expr/InvokeNewExpr.html create mode 100644 api/proguard/dexfile/ir/expr/InvokePolymorphicExpr.html create mode 100644 api/proguard/dexfile/ir/expr/Local.html create mode 100644 api/proguard/dexfile/ir/expr/NewExpr.html create mode 100644 api/proguard/dexfile/ir/expr/NewMutiArrayExpr.html create mode 100644 api/proguard/dexfile/ir/expr/PhiExpr.html create mode 100644 api/proguard/dexfile/ir/expr/RefExpr.html create mode 100644 api/proguard/dexfile/ir/expr/StaticFieldExpr.html create mode 100644 api/proguard/dexfile/ir/expr/TypeExpr.html create mode 100644 api/proguard/dexfile/ir/expr/UnopExpr.html create mode 100644 api/proguard/dexfile/ir/expr/Value.E0Expr.html create mode 100644 api/proguard/dexfile/ir/expr/Value.E1Expr.html create mode 100644 api/proguard/dexfile/ir/expr/Value.E2Expr.html create mode 100644 api/proguard/dexfile/ir/expr/Value.EnExpr.html create mode 100644 api/proguard/dexfile/ir/expr/Value.VT.html create mode 100644 api/proguard/dexfile/ir/expr/Value.html create mode 100644 api/proguard/dexfile/ir/expr/package-frame.html create mode 100644 api/proguard/dexfile/ir/expr/package-summary.html create mode 100644 api/proguard/dexfile/ir/expr/package-tree.html create mode 100644 api/proguard/dexfile/ir/package-frame.html create mode 100644 api/proguard/dexfile/ir/package-summary.html create mode 100644 api/proguard/dexfile/ir/package-tree.html create mode 100644 api/proguard/dexfile/ir/stmt/AssignStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/BaseSwitchStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/GotoStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/IfStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/JumpStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/LabelStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/LookupSwitchStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/NopStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/ReturnVoidStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmt.ST.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmt.html create mode 100644 api/proguard/dexfile/ir/stmt/StmtList.html create mode 100644 api/proguard/dexfile/ir/stmt/Stmts.html create mode 100644 api/proguard/dexfile/ir/stmt/TableSwitchStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/UnopStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/VoidInvokeStmt.html create mode 100644 api/proguard/dexfile/ir/stmt/package-frame.html create mode 100644 api/proguard/dexfile/ir/stmt/package-summary.html create mode 100644 api/proguard/dexfile/ir/stmt/package-tree.html create mode 100644 api/proguard/dexfile/ir/ts/AggTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.DfsVisitor.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.FrameVisitor.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.OnAssignCallBack.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.OnUseCallBack.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.TravelCallBack.html create mode 100644 api/proguard/dexfile/ir/ts/Cfg.html create mode 100644 api/proguard/dexfile/ir/ts/CleanLabel.html create mode 100644 api/proguard/dexfile/ir/ts/ExceptionHandlerTrim.html create mode 100644 api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.Reg.html create mode 100644 api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/MultiArrayTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/NewTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/RemoveConstantFromSSA.html create mode 100644 api/proguard/dexfile/ir/ts/RemoveLocalFromSSA.html create mode 100644 api/proguard/dexfile/ir/ts/StatedTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/Transformer.html create mode 100644 api/proguard/dexfile/ir/ts/TypeTransformer.TypeRef.html create mode 100644 api/proguard/dexfile/ir/ts/TypeTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/UnSSATransformer.LiveA.html create mode 100644 api/proguard/dexfile/ir/ts/UnSSATransformer.RegAssign.html create mode 100644 api/proguard/dexfile/ir/ts/UnSSATransformer.html create mode 100644 api/proguard/dexfile/ir/ts/UniqueQueue.html create mode 100644 api/proguard/dexfile/ir/ts/VoidInvokeTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/ZeroTransformer.html create mode 100644 api/proguard/dexfile/ir/ts/an/AnalyzeValue.html create mode 100644 api/proguard/dexfile/ir/ts/an/BaseAnalyze.html create mode 100644 api/proguard/dexfile/ir/ts/an/SimpleLiveAnalyze.html create mode 100644 api/proguard/dexfile/ir/ts/an/SimpleLiveValue.html create mode 100644 api/proguard/dexfile/ir/ts/an/package-frame.html create mode 100644 api/proguard/dexfile/ir/ts/an/package-summary.html create mode 100644 api/proguard/dexfile/ir/ts/an/package-tree.html create mode 100644 api/proguard/dexfile/ir/ts/package-frame.html create mode 100644 api/proguard/dexfile/ir/ts/package-summary.html create mode 100644 api/proguard/dexfile/ir/ts/package-tree.html create mode 100644 api/proguard/dexfile/package-frame.html create mode 100644 api/proguard/dexfile/package-summary.html create mode 100644 api/proguard/dexfile/package-tree.html create mode 100644 api/proguard/dexfile/reader/BaseDexFileReader.html create mode 100644 api/proguard/dexfile/reader/CFG.html create mode 100644 api/proguard/dexfile/reader/DexConstants.html create mode 100644 api/proguard/dexfile/reader/DexContainerReader.html create mode 100644 api/proguard/dexfile/reader/DexException.html create mode 100644 api/proguard/dexfile/reader/DexFileReader.html create mode 100644 api/proguard/dexfile/reader/DexLabel.html create mode 100644 api/proguard/dexfile/reader/DexReaderFactory.html create mode 100644 api/proguard/dexfile/reader/DexType.html create mode 100644 api/proguard/dexfile/reader/Field.html create mode 100644 api/proguard/dexfile/reader/InstructionFormat.html create mode 100644 api/proguard/dexfile/reader/InstructionIndexType.html create mode 100644 api/proguard/dexfile/reader/Method.html create mode 100644 api/proguard/dexfile/reader/MethodHandle.html create mode 100644 api/proguard/dexfile/reader/Op.html create mode 100644 api/proguard/dexfile/reader/Proto.html create mode 100644 api/proguard/dexfile/reader/Visibility.html create mode 100644 api/proguard/dexfile/reader/node/DexAnnotationNode.Item.html create mode 100644 api/proguard/dexfile/reader/node/DexAnnotationNode.html create mode 100644 api/proguard/dexfile/reader/node/DexClassNode.html create mode 100644 api/proguard/dexfile/reader/node/DexCodeNode.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.EndLocal.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Epiogue.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.LineNumber.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Prologue.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.RestartLocal.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.StartLocalNode.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.html create mode 100644 api/proguard/dexfile/reader/node/DexDebugNode.html create mode 100644 api/proguard/dexfile/reader/node/DexFieldNode.html create mode 100644 api/proguard/dexfile/reader/node/DexFileNode.html create mode 100644 api/proguard/dexfile/reader/node/DexMethodNode.html create mode 100644 api/proguard/dexfile/reader/node/TryCatchNode.html create mode 100644 api/proguard/dexfile/reader/node/analysis/DvmFrame.html create mode 100644 api/proguard/dexfile/reader/node/analysis/DvmInterpreter.html create mode 100644 api/proguard/dexfile/reader/node/analysis/package-frame.html create mode 100644 api/proguard/dexfile/reader/node/analysis/package-summary.html create mode 100644 api/proguard/dexfile/reader/node/analysis/package-tree.html create mode 100644 api/proguard/dexfile/reader/node/insn/AbstractMethodStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/BaseSwitchStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/ConstStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/DexLabelStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/DexStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/FieldStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/FillArrayDataStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/FilledNewArrayStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/JumpStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/MethodCustomStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/MethodPolymorphicStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/MethodStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/PackedSwitchStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/SparseSwitchStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/Stmt0RNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/Stmt1RNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/Stmt2R1NNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/Stmt2RNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/Stmt3RNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/TypeStmtNode.html create mode 100644 api/proguard/dexfile/reader/node/insn/package-frame.html create mode 100644 api/proguard/dexfile/reader/node/insn/package-summary.html create mode 100644 api/proguard/dexfile/reader/node/insn/package-tree.html create mode 100644 api/proguard/dexfile/reader/node/package-frame.html create mode 100644 api/proguard/dexfile/reader/node/package-summary.html create mode 100644 api/proguard/dexfile/reader/node/package-tree.html create mode 100644 api/proguard/dexfile/reader/package-frame.html create mode 100644 api/proguard/dexfile/reader/package-summary.html create mode 100644 api/proguard/dexfile/reader/package-tree.html create mode 100644 api/proguard/dexfile/reader/util/InputStreams.html create mode 100644 api/proguard/dexfile/reader/util/Mutf8.html create mode 100644 api/proguard/dexfile/reader/util/package-frame.html create mode 100644 api/proguard/dexfile/reader/util/package-summary.html create mode 100644 api/proguard/dexfile/reader/util/package-tree.html create mode 100644 api/proguard/dexfile/reader/visitors/DexAnnotationAble.html create mode 100644 api/proguard/dexfile/reader/visitors/DexAnnotationVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexClassVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexCodeVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexDebugVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexFieldVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexFileVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/DexMethodVisitor.html create mode 100644 api/proguard/dexfile/reader/visitors/package-frame.html create mode 100644 api/proguard/dexfile/reader/visitors/package-summary.html create mode 100644 api/proguard/dexfile/reader/visitors/package-tree.html create mode 100644 api/proguard/evaluation/BasicBranchUnit.html create mode 100644 api/proguard/evaluation/BasicInvocationUnit.html create mode 100644 api/proguard/evaluation/BranchUnit.html create mode 100644 api/proguard/evaluation/ClassConstantValueFactory.html create mode 100644 api/proguard/evaluation/ConstantValueFactory.html create mode 100644 api/proguard/evaluation/ExecutingInvocationUnit.Builder.html create mode 100644 api/proguard/evaluation/ExecutingInvocationUnit.html create mode 100644 api/proguard/evaluation/IncompleteClassHierarchyException.html create mode 100644 api/proguard/evaluation/InitializationFinder.html create mode 100644 api/proguard/evaluation/InvocationUnit.html create mode 100644 api/proguard/evaluation/LivenessAnalyzer.html create mode 100644 api/proguard/evaluation/MethodResult.Builder.html create mode 100644 api/proguard/evaluation/MethodResult.html create mode 100644 api/proguard/evaluation/PartialEvaluator.Builder.html create mode 100644 api/proguard/evaluation/PartialEvaluator.InstructionBlock.html create mode 100644 api/proguard/evaluation/PartialEvaluator.html create mode 100644 api/proguard/evaluation/ParticularReferenceValueFactory.html create mode 100644 api/proguard/evaluation/Processor.html create mode 100644 api/proguard/evaluation/ReferenceTracingInvocationUnit.html create mode 100644 api/proguard/evaluation/ReferenceTracingValueFactory.html create mode 100644 api/proguard/evaluation/SimplifiedInvocationUnit.html create mode 100644 api/proguard/evaluation/Stack.html create mode 100644 api/proguard/evaluation/TracedStack.html create mode 100644 api/proguard/evaluation/TracedVariables.html create mode 100644 api/proguard/evaluation/ValueCalculator.html create mode 100644 api/proguard/evaluation/Variables.html create mode 100644 api/proguard/evaluation/exception/ArrayIndexOutOfBounds.html create mode 100644 api/proguard/evaluation/exception/ArrayStoreTypeException.html create mode 100644 api/proguard/evaluation/exception/EmptyCodeAttributeException.html create mode 100644 api/proguard/evaluation/exception/ExcessiveComplexityException.html create mode 100644 api/proguard/evaluation/exception/IncompleteClassHierarchyException.html create mode 100644 api/proguard/evaluation/exception/PartialEvaluatorException.html create mode 100644 api/proguard/evaluation/exception/StackCategoryOneException.html create mode 100644 api/proguard/evaluation/exception/StackGeneralizationException.html create mode 100644 api/proguard/evaluation/exception/StackTypeException.html create mode 100644 api/proguard/evaluation/exception/ValueTypeException.html create mode 100644 api/proguard/evaluation/exception/VariableEmptySlotException.html create mode 100644 api/proguard/evaluation/exception/VariableEvaluationException.html create mode 100644 api/proguard/evaluation/exception/VariableIndexOutOfBoundException.html create mode 100644 api/proguard/evaluation/exception/VariableTypeException.html create mode 100644 api/proguard/evaluation/exception/VariablesGeneralizationException.html create mode 100644 api/proguard/evaluation/exception/package-frame.html create mode 100644 api/proguard/evaluation/exception/package-summary.html create mode 100644 api/proguard/evaluation/exception/package-tree.html create mode 100644 api/proguard/evaluation/executor/Executor.Builder.html create mode 100644 api/proguard/evaluation/executor/Executor.html create mode 100644 api/proguard/evaluation/executor/MethodExecutionInfo.html create mode 100644 api/proguard/evaluation/executor/ReflectionExecutor.InstanceCopyResult.html create mode 100644 api/proguard/evaluation/executor/ReflectionExecutor.html create mode 100644 api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html create mode 100644 api/proguard/evaluation/executor/StringReflectionExecutor.html create mode 100644 api/proguard/evaluation/executor/instancehandler/ExecutorInstanceHandler.html create mode 100644 api/proguard/evaluation/executor/instancehandler/ExecutorMethodInstanceHandler.html create mode 100644 api/proguard/evaluation/executor/instancehandler/package-frame.html create mode 100644 api/proguard/evaluation/executor/instancehandler/package-summary.html create mode 100644 api/proguard/evaluation/executor/instancehandler/package-tree.html create mode 100644 api/proguard/evaluation/executor/package-frame.html create mode 100644 api/proguard/evaluation/executor/package-summary.html create mode 100644 api/proguard/evaluation/executor/package-tree.html create mode 100644 api/proguard/evaluation/package-frame.html create mode 100644 api/proguard/evaluation/package-summary.html create mode 100644 api/proguard/evaluation/package-tree.html create mode 100644 api/proguard/evaluation/util/DebugPrinter.html create mode 100644 api/proguard/evaluation/util/PartialEvaluatorStateTracker.html create mode 100644 api/proguard/evaluation/util/jsonprinter/JsonPrinter.html create mode 100644 api/proguard/evaluation/util/jsonprinter/package-frame.html create mode 100644 api/proguard/evaluation/util/jsonprinter/package-summary.html create mode 100644 api/proguard/evaluation/util/jsonprinter/package-tree.html create mode 100644 api/proguard/evaluation/util/package-frame.html create mode 100644 api/proguard/evaluation/util/package-summary.html create mode 100644 api/proguard/evaluation/util/package-tree.html create mode 100644 api/proguard/evaluation/value/ArrayReferenceValue.html create mode 100644 api/proguard/evaluation/value/ArrayReferenceValueFactory.html create mode 100644 api/proguard/evaluation/value/BasicRangeValueFactory.html create mode 100644 api/proguard/evaluation/value/BasicValueFactory.html create mode 100644 api/proguard/evaluation/value/Category1Value.html create mode 100644 api/proguard/evaluation/value/Category2Value.html create mode 100644 api/proguard/evaluation/value/ComparisonValue.html create mode 100644 api/proguard/evaluation/value/CompositeDoubleValue.html create mode 100644 api/proguard/evaluation/value/CompositeFloatValue.html create mode 100644 api/proguard/evaluation/value/CompositeIntegerValue.html create mode 100644 api/proguard/evaluation/value/CompositeLongValue.html create mode 100644 api/proguard/evaluation/value/ConvertedByteValue.html create mode 100644 api/proguard/evaluation/value/ConvertedCharacterValue.html create mode 100644 api/proguard/evaluation/value/ConvertedDoubleValue.html create mode 100644 api/proguard/evaluation/value/ConvertedFloatValue.html create mode 100644 api/proguard/evaluation/value/ConvertedIntegerValue.html create mode 100644 api/proguard/evaluation/value/ConvertedLongValue.html create mode 100644 api/proguard/evaluation/value/ConvertedShortValue.html create mode 100644 api/proguard/evaluation/value/DetailedArrayReferenceValue.html create mode 100644 api/proguard/evaluation/value/DetailedArrayValueFactory.html create mode 100644 api/proguard/evaluation/value/DoubleValue.html create mode 100644 api/proguard/evaluation/value/FloatValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedArrayReferenceValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedDoubleValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedFloatValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedIntegerValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedLongValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedReferenceValue.html create mode 100644 api/proguard/evaluation/value/IdentifiedValueFactory.html create mode 100644 api/proguard/evaluation/value/InitialValueFactory.html create mode 100644 api/proguard/evaluation/value/InstructionOffsetValue.html create mode 100644 api/proguard/evaluation/value/IntegerValue.html create mode 100644 api/proguard/evaluation/value/LongValue.html create mode 100644 api/proguard/evaluation/value/MultiTypedReferenceValue.html create mode 100644 api/proguard/evaluation/value/MultiTypedReferenceValueFactory.html create mode 100644 api/proguard/evaluation/value/NegatedDoubleValue.html create mode 100644 api/proguard/evaluation/value/NegatedFloatValue.html create mode 100644 api/proguard/evaluation/value/NegatedIntegerValue.html create mode 100644 api/proguard/evaluation/value/NegatedLongValue.html create mode 100644 api/proguard/evaluation/value/ParticularDoubleValue.html create mode 100644 api/proguard/evaluation/value/ParticularFloatValue.html create mode 100644 api/proguard/evaluation/value/ParticularIntegerValue.html create mode 100644 api/proguard/evaluation/value/ParticularLongValue.html create mode 100644 api/proguard/evaluation/value/ParticularReferenceValue.html create mode 100644 api/proguard/evaluation/value/ParticularValueFactory.html create mode 100644 api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html create mode 100644 api/proguard/evaluation/value/RangeIntegerValue.html create mode 100644 api/proguard/evaluation/value/RangeValueFactory.html create mode 100644 api/proguard/evaluation/value/ReferenceValue.html create mode 100644 api/proguard/evaluation/value/ReflectiveMethodCallUtil.html create mode 100644 api/proguard/evaluation/value/SpecificDoubleValue.html create mode 100644 api/proguard/evaluation/value/SpecificFloatValue.html create mode 100644 api/proguard/evaluation/value/SpecificIntegerValue.html create mode 100644 api/proguard/evaluation/value/SpecificLongValue.html create mode 100644 api/proguard/evaluation/value/TopValue.html create mode 100644 api/proguard/evaluation/value/TracedReferenceValue.html create mode 100644 api/proguard/evaluation/value/TracingValue.html create mode 100644 api/proguard/evaluation/value/TypedReferenceValue.html create mode 100644 api/proguard/evaluation/value/TypedReferenceValueFactory.html create mode 100644 api/proguard/evaluation/value/UnknownDoubleValue.html create mode 100644 api/proguard/evaluation/value/UnknownFloatValue.html create mode 100644 api/proguard/evaluation/value/UnknownIntegerValue.html create mode 100644 api/proguard/evaluation/value/UnknownLongValue.html create mode 100644 api/proguard/evaluation/value/UnknownReferenceValue.html create mode 100644 api/proguard/evaluation/value/UnknownValue.html create mode 100644 api/proguard/evaluation/value/Value.html create mode 100644 api/proguard/evaluation/value/ValueFactory.html create mode 100644 api/proguard/evaluation/value/object/AnalyzedObject.html create mode 100644 api/proguard/evaluation/value/object/AnalyzedObjectFactory.html create mode 100644 api/proguard/evaluation/value/object/ArrayModel.html create mode 100644 api/proguard/evaluation/value/object/ClassModel.html create mode 100644 api/proguard/evaluation/value/object/Model.html create mode 100644 api/proguard/evaluation/value/object/package-frame.html create mode 100644 api/proguard/evaluation/value/object/package-summary.html create mode 100644 api/proguard/evaluation/value/object/package-tree.html create mode 100644 api/proguard/evaluation/value/package-frame.html create mode 100644 api/proguard/evaluation/value/package-summary.html create mode 100644 api/proguard/evaluation/value/package-tree.html create mode 100644 api/proguard/examples/AnalyzeTaints.html create mode 100644 api/proguard/examples/ApplyPeepholeOptimizations.html create mode 100644 api/proguard/examples/CreateHelloWorldClass.html create mode 100644 api/proguard/examples/CyclomaticComplexity.html create mode 100644 api/proguard/examples/EvaluateCode.html create mode 100644 api/proguard/examples/FindBranches.html create mode 100644 api/proguard/examples/JarUtil.html create mode 100644 api/proguard/examples/Preverify.html create mode 100644 api/proguard/examples/PrintClasses.html create mode 100644 api/proguard/examples/RemoveLogging.html create mode 100644 api/proguard/examples/TransformExample.MyTransformer.html create mode 100644 api/proguard/examples/TransformExample.html create mode 100644 api/proguard/examples/VisualizeCfa.html create mode 100644 api/proguard/examples/VisualizeControlFlow.html create mode 100644 api/proguard/examples/instrument/AddMethodInvocationLogging.html create mode 100644 api/proguard/examples/instrument/DebugStackTop.html create mode 100644 api/proguard/examples/instrument/DebugStackTopExample.html create mode 100644 api/proguard/examples/instrument/package-frame.html create mode 100644 api/proguard/examples/instrument/package-summary.html create mode 100644 api/proguard/examples/instrument/package-tree.html create mode 100644 api/proguard/examples/modify/EditClass.html create mode 100644 api/proguard/examples/modify/ReplaceSimpleConstantInstruction.html create mode 100644 api/proguard/examples/modify/package-frame.html create mode 100644 api/proguard/examples/modify/package-summary.html create mode 100644 api/proguard/examples/modify/package-tree.html create mode 100644 api/proguard/examples/package-frame.html create mode 100644 api/proguard/examples/package-summary.html create mode 100644 api/proguard/examples/package-tree.html create mode 100644 api/proguard/examples/util/ExampleUtil.html create mode 100644 api/proguard/examples/util/package-frame.html create mode 100644 api/proguard/examples/util/package-summary.html create mode 100644 api/proguard/examples/util/package-tree.html create mode 100644 api/proguard/exception/ErrorId.html create mode 100644 api/proguard/exception/InstructionExceptionFormatter.html create mode 100644 api/proguard/exception/ProguardCoreException.html create mode 100644 api/proguard/exception/package-frame.html create mode 100644 api/proguard/exception/package-summary.html create mode 100644 api/proguard/exception/package-tree.html create mode 100644 api/proguard/io/CascadingDataEntryWriter.html create mode 100644 api/proguard/io/ClassDataEntryWriter.html create mode 100644 api/proguard/io/ClassFilter.html create mode 100644 api/proguard/io/ClassMapDataEntryWriter.html create mode 100644 api/proguard/io/ClassPath.html create mode 100644 api/proguard/io/ClassPathDataEntry.html create mode 100644 api/proguard/io/ClassPathEntry.html create mode 100644 api/proguard/io/ClassReader.html create mode 100644 api/proguard/io/D8BasedDexDataEntryWriter.html create mode 100644 api/proguard/io/D8ClassConverter.D8DexFile.html create mode 100644 api/proguard/io/D8ClassConverter.html create mode 100644 api/proguard/io/DataEntry.html create mode 100644 api/proguard/io/DataEntryClassInfoFilter.html create mode 100644 api/proguard/io/DataEntryClassWriter.html create mode 100644 api/proguard/io/DataEntryCopier.html create mode 100644 api/proguard/io/DataEntryDirectoryFilter.html create mode 100644 api/proguard/io/DataEntryFilter.html create mode 100644 api/proguard/io/DataEntryNameFilter.html create mode 100644 api/proguard/io/DataEntryParentFilter.html create mode 100644 api/proguard/io/DataEntryReader.html create mode 100644 api/proguard/io/DataEntryReaderFactory.html create mode 100644 api/proguard/io/DataEntryRewriter.html create mode 100644 api/proguard/io/DataEntrySource.html create mode 100644 api/proguard/io/DataEntryToken.html create mode 100644 api/proguard/io/DataEntryTokenType.html create mode 100644 api/proguard/io/DataEntryTokenizer.html create mode 100644 api/proguard/io/DataEntryWriter.html create mode 100644 api/proguard/io/DataEntryWriterFactory.html create mode 100644 api/proguard/io/DexClassReader.html create mode 100644 api/proguard/io/DexDataEntryWriter.html create mode 100644 api/proguard/io/DexDataEntryWriterFactory.html create mode 100644 api/proguard/io/DirectoryFilter.html create mode 100644 api/proguard/io/DirectorySource.html create mode 100644 api/proguard/io/DirectoryWriter.html create mode 100644 api/proguard/io/DummyDataEntry.html create mode 100644 api/proguard/io/FileDataEntry.html create mode 100644 api/proguard/io/FileSource.html create mode 100644 api/proguard/io/FilteredDataEntryReader.html create mode 100644 api/proguard/io/FilteredDataEntryWriter.html create mode 100644 api/proguard/io/Finisher.html create mode 100644 api/proguard/io/FixedFileWriter.html create mode 100644 api/proguard/io/IdleRewriter.html create mode 100644 api/proguard/io/JarReader.html create mode 100644 api/proguard/io/JarWriter.MyMultiDigestOutputStream.html create mode 100644 api/proguard/io/JarWriter.html create mode 100644 api/proguard/io/ManifestRewriter.html create mode 100644 api/proguard/io/MultiDataEntryReader.html create mode 100644 api/proguard/io/NameFilteredDataEntryReader.html create mode 100644 api/proguard/io/NameFilteredDataEntryWriter.html create mode 100644 api/proguard/io/NamedDataEntry.html create mode 100644 api/proguard/io/NonClosingDataEntryWriter.html create mode 100644 api/proguard/io/ParallelDexClassReader.html create mode 100644 api/proguard/io/ParentDataEntryWriter.html create mode 100644 api/proguard/io/PrefixAddingDataEntryWriter.html create mode 100644 api/proguard/io/PrefixStrippingDataEntryReader.html create mode 100644 api/proguard/io/RenamedDataEntry.html create mode 100644 api/proguard/io/RenamedDataEntryReader.html create mode 100644 api/proguard/io/RenamedDataEntryWriter.html create mode 100644 api/proguard/io/RenamedParentDataEntryWriter.html create mode 100644 api/proguard/io/RuntimeDataInput.html create mode 100644 api/proguard/io/RuntimeDataOutput.html create mode 100644 api/proguard/io/SignedJarWriter.html create mode 100644 api/proguard/io/StreamingDataEntry.html create mode 100644 api/proguard/io/WrappedDataEntry.html create mode 100644 api/proguard/io/ZipDataEntry.html create mode 100644 api/proguard/io/ZipFileDataEntry.html create mode 100644 api/proguard/io/ZipOutput.LargeDataOutputStream.html create mode 100644 api/proguard/io/ZipOutput.html create mode 100644 api/proguard/io/ZipWriter.html create mode 100644 api/proguard/io/package-frame.html create mode 100644 api/proguard/io/package-summary.html create mode 100644 api/proguard/io/package-tree.html create mode 100644 api/proguard/io/util/ClassPathUtil.html create mode 100644 api/proguard/io/util/IOUtil.html create mode 100644 api/proguard/io/util/package-frame.html create mode 100644 api/proguard/io/util/package-summary.html create mode 100644 api/proguard/io/util/package-tree.html create mode 100644 api/proguard/preverify/CodePreverifier.html create mode 100644 api/proguard/preverify/CodeSubroutineInliner.html create mode 100644 api/proguard/preverify/package-frame.html create mode 100644 api/proguard/preverify/package-summary.html create mode 100644 api/proguard/preverify/package-tree.html create mode 100644 api/proguard/resources/file/FilePool.html create mode 100644 api/proguard/resources/file/ResourceFile.html create mode 100644 api/proguard/resources/file/ResourceFilePool.html create mode 100644 api/proguard/resources/file/ResourceJavaReference.html create mode 100644 api/proguard/resources/file/io/ResourceFileDataEntryReader.html create mode 100644 api/proguard/resources/file/io/package-frame.html create mode 100644 api/proguard/resources/file/io/package-summary.html create mode 100644 api/proguard/resources/file/io/package-tree.html create mode 100644 api/proguard/resources/file/package-frame.html create mode 100644 api/proguard/resources/file/package-summary.html create mode 100644 api/proguard/resources/file/package-tree.html create mode 100644 api/proguard/resources/file/util/FilePoolNameFunction.html create mode 100644 api/proguard/resources/file/util/ResourceFilePoolNameFunction.html create mode 100644 api/proguard/resources/file/util/package-frame.html create mode 100644 api/proguard/resources/file/util/package-summary.html create mode 100644 api/proguard/resources/file/util/package-tree.html create mode 100644 api/proguard/resources/file/visitor/MultiResourceFileVisitor.html create mode 100644 api/proguard/resources/file/visitor/ResourceFileNameFilter.html create mode 100644 api/proguard/resources/file/visitor/ResourceFilePoolFiller.html create mode 100644 api/proguard/resources/file/visitor/ResourceFilePresenceFilter.html create mode 100644 api/proguard/resources/file/visitor/ResourceFileProcessingFlagFilter.html create mode 100644 api/proguard/resources/file/visitor/ResourceFileVisitor.html create mode 100644 api/proguard/resources/file/visitor/ResourceJavaReferenceClassInitializer.html create mode 100644 api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html create mode 100644 api/proguard/resources/file/visitor/package-frame.html create mode 100644 api/proguard/resources/file/visitor/package-summary.html create mode 100644 api/proguard/resources/file/visitor/package-tree.html create mode 100644 api/proguard/resources/kotlinmodule/KotlinModule.html create mode 100644 api/proguard/resources/kotlinmodule/KotlinModulePackage.html create mode 100644 api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryReader.html create mode 100644 api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryWriter.html create mode 100644 api/proguard/resources/kotlinmodule/io/KotlinModuleReader.html create mode 100644 api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html create mode 100644 api/proguard/resources/kotlinmodule/io/package-frame.html create mode 100644 api/proguard/resources/kotlinmodule/io/package-summary.html create mode 100644 api/proguard/resources/kotlinmodule/io/package-tree.html create mode 100644 api/proguard/resources/kotlinmodule/package-frame.html create mode 100644 api/proguard/resources/kotlinmodule/package-summary.html create mode 100644 api/proguard/resources/kotlinmodule/package-tree.html create mode 100644 api/proguard/resources/kotlinmodule/util/KotlinModuleReferenceInitializer.html create mode 100644 api/proguard/resources/kotlinmodule/util/package-frame.html create mode 100644 api/proguard/resources/kotlinmodule/util/package-summary.html create mode 100644 api/proguard/resources/kotlinmodule/util/package-tree.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/KotlinMetadataToModuleVisitor.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/KotlinModulePackageVisitor.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/KotlinModulePrinter.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/KotlinModuleVisitor.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/package-frame.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/package-summary.html create mode 100644 api/proguard/resources/kotlinmodule/visitor/package-tree.html create mode 100644 api/proguard/util/AndMatcher.html create mode 100644 api/proguard/util/AndNotStringFunction.html create mode 100644 api/proguard/util/AndStringFunction.html create mode 100644 api/proguard/util/ArrayUtil.html create mode 100644 api/proguard/util/Base64Util.html create mode 100644 api/proguard/util/CallGraphWalker.html create mode 100644 api/proguard/util/CircularIntBuffer.html create mode 100644 api/proguard/util/ClassNameParser.html create mode 100644 api/proguard/util/ClassPoolFeatureNameFunction.html create mode 100644 api/proguard/util/CollectionMatcher.html create mode 100644 api/proguard/util/CollectionParser.html create mode 100644 api/proguard/util/ConcatenatingStringFunction.html create mode 100644 api/proguard/util/ConstantMatcher.html create mode 100644 api/proguard/util/ConstantStringFunction.html create mode 100644 api/proguard/util/Counter.html create mode 100644 api/proguard/util/EmptyStringMatcher.html create mode 100644 api/proguard/util/ExtensionMatcher.html create mode 100644 api/proguard/util/FeatureNamed.html create mode 100644 api/proguard/util/FileNameParser.html create mode 100644 api/proguard/util/FilteredStringFunction.html create mode 100644 api/proguard/util/FixedStringMatcher.html create mode 100644 api/proguard/util/IdentityStringFunction.html create mode 100644 api/proguard/util/ListFunctionParser.html create mode 100644 api/proguard/util/ListMatcher.html create mode 100644 api/proguard/util/ListParser.html create mode 100644 api/proguard/util/ListUtil.html create mode 100644 api/proguard/util/MapStringFunction.html create mode 100644 api/proguard/util/MatchedStringFunction.html create mode 100644 api/proguard/util/MatchedStringMatcher.html create mode 100644 api/proguard/util/MatchingStringFunction.html create mode 100644 api/proguard/util/MultiValueMap.html create mode 100644 api/proguard/util/NameParser.html create mode 100644 api/proguard/util/NotMatcher.html create mode 100644 api/proguard/util/NotStringFunction.html create mode 100644 api/proguard/util/ObjectUtil.html create mode 100644 api/proguard/util/OrMatcher.html create mode 100644 api/proguard/util/OrStringFunction.html create mode 100644 api/proguard/util/PartialEvaluatorUtils.html create mode 100644 api/proguard/util/PrefixAddingStringFunction.html create mode 100644 api/proguard/util/PrefixRemovingStringFunction.html create mode 100644 api/proguard/util/Processable.html create mode 100644 api/proguard/util/ProcessableVisitor.html create mode 100644 api/proguard/util/ProcessingFlagCleaner.html create mode 100644 api/proguard/util/ProcessingFlagSetter.html create mode 100644 api/proguard/util/ProcessingFlags.html create mode 100644 api/proguard/util/SettableMatcher.html create mode 100644 api/proguard/util/SimpleFeatureNamedProcessable.html create mode 100644 api/proguard/util/SimpleProcessable.html create mode 100644 api/proguard/util/SingleFunctionParser.html create mode 100644 api/proguard/util/StringFunction.html create mode 100644 api/proguard/util/StringFunctionParser.html create mode 100644 api/proguard/util/StringMatcher.html create mode 100644 api/proguard/util/StringParser.html create mode 100644 api/proguard/util/StringUtil.html create mode 100644 api/proguard/util/SuffixAddingStringFunction.html create mode 100644 api/proguard/util/SuffixRemovingStringFunction.html create mode 100644 api/proguard/util/TransformedStringMatcher.html create mode 100644 api/proguard/util/VariableStringMatcher.html create mode 100644 api/proguard/util/WildcardManager.html create mode 100644 api/proguard/util/kotlin/asserter/AssertUtil.html create mode 100644 api/proguard/util/kotlin/asserter/KotlinMetadataAsserter.html create mode 100644 api/proguard/util/kotlin/asserter/Reporter.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/AbstractKotlinMetadataConstraint.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/ClassIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/ConstructorIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/DeclarationContainerIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/FileFacadeIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/FunctionIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/KmAnnotationIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/KotlinAsserterConstraint.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/KotlinModuleIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/MultiFileFacadeIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/MultiFilePartIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/PropertyIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/SyntheticClassIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/TypeIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/ValueParameterIntegrity.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/package-frame.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/package-summary.html create mode 100644 api/proguard/util/kotlin/asserter/constraint/package-tree.html create mode 100644 api/proguard/util/kotlin/asserter/package-frame.html create mode 100644 api/proguard/util/kotlin/asserter/package-summary.html create mode 100644 api/proguard/util/kotlin/asserter/package-tree.html create mode 100644 api/proguard/util/package-frame.html create mode 100644 api/proguard/util/package-summary.html create mode 100644 api/proguard/util/package-tree.html create mode 100644 api/script.js create mode 100644 api/serialized-form.html create mode 100644 api/stylesheet.css create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.220ee61c.min.js create mode 100644 assets/javascripts/bundle.220ee61c.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.74e28a9f.min.js create mode 100644 assets/javascripts/workers/search.74e28a9f.min.js.map create mode 100644 assets/stylesheets/main.eebd395e.min.css create mode 100644 assets/stylesheets/main.eebd395e.min.css.map create mode 100644 assets/stylesheets/palette.ecc896b0.min.css create mode 100644 assets/stylesheets/palette.ecc896b0.min.css.map create mode 100644 building.html create mode 100644 creating.html create mode 100644 downloads.html create mode 100644 editing.html create mode 100644 extra.css create mode 100644 img/core.png create mode 100644 img/guardsquare.png create mode 100644 index.html create mode 100644 kotlin.html create mode 100644 license.html create mode 100644 partialevaluator.html create mode 100644 patternmatching.html create mode 100644 reading.html create mode 100644 releasenotes.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 taintcpa.html 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-frame.html b/api/allclasses-frame.html new file mode 100644 index 000000000..08d1e799c --- /dev/null +++ b/api/allclasses-frame.html @@ -0,0 +1,1256 @@ + + + + + +All Classes (ProGuardCORE) + + + + +

All Classes

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

All Classes

+
+ +
+ + diff --git a/api/com/example/SampleClassWithArray.html b/api/com/example/SampleClassWithArray.html new file mode 100644 index 000000000..27ad7bb81 --- /dev/null +++ b/api/com/example/SampleClassWithArray.html @@ -0,0 +1,269 @@ + + + + + +SampleClassWithArray (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + + +
+
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 TypeMethod and Description
      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..b7854659f --- /dev/null +++ b/api/com/example/SampleClassWithConstantComputation.html @@ -0,0 +1,269 @@ + + + + + +SampleClassWithConstantComputation (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + + +
+
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 TypeMethod and Description
      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..772b0809d --- /dev/null +++ b/api/com/example/SampleClassWithObjects.html @@ -0,0 +1,269 @@ + + + + + +SampleClassWithObjects (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + + +
+
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 TypeMethod and Description
      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..39b07e304 --- /dev/null +++ b/api/com/example/SampleClassWithRangeComputation.html @@ -0,0 +1,269 @@ + + + + + +SampleClassWithRangeComputation (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + + +
+
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 TypeMethod and Description
      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..2dacb8c6d --- /dev/null +++ b/api/com/example/SampleClassWithVariableComputation.html @@ -0,0 +1,271 @@ + + + + + +SampleClassWithVariableComputation (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + + +
+
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 TypeMethod and Description
      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-frame.html b/api/com/example/package-frame.html new file mode 100644 index 000000000..efd409e4a --- /dev/null +++ b/api/com/example/package-frame.html @@ -0,0 +1,23 @@ + + + + + +com.example (ProGuardCORE) + + + + +

com.example

+
+

Classes

+ +
+ + diff --git a/api/com/example/package-summary.html b/api/com/example/package-summary.html new file mode 100644 index 000000000..34019f78c --- /dev/null +++ b/api/com/example/package-summary.html @@ -0,0 +1,165 @@ + + + + + +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..f51036e8e --- /dev/null +++ b/api/com/example/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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..c260a29ba --- /dev/null +++ b/api/constant-values.html @@ -0,0 +1,9920 @@ + + + + + +Constant Field Values (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + +
+

Constant Field Values

+

Contents

+ +
+
+ + +

proguard.analysis.*

+ + + + + + + + + +

proguard.classfile.*

+ + + + + + + + + + + + + + + +

proguard.dexfile.*

+ + + + + + + + +

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..eb6d9bc36 --- /dev/null +++ b/api/deprecated-list.html @@ -0,0 +1,357 @@ + + + + + +Deprecated List (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + +
+

Deprecated API

+

Contents

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + +
+ + + + diff --git a/api/help-doc.html b/api/help-doc.html new file mode 100644 index 000000000..d48ab65e7 --- /dev/null +++ b/api/help-doc.html @@ -0,0 +1,222 @@ + + + + + +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 using the standard doclet.
+ +
+ + + + + + + +
+ + + + diff --git a/api/index-all.html b/api/index-all.html new file mode 100644 index 000000000..9cae6f81d --- /dev/null +++ b/api/index-all.html @@ -0,0 +1,36390 @@ + + + + + +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 _  + + +

A

+
+
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
+
 
+
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
+
 
+
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 - Interface in proguard.analysis.cpa.interfaces
+
+
An AbstractState contains information about the program state.
+
+
abstractState - Variable in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation.InstructionAbstractInterpreter
+
 
+
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(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationDefaultAttribute
+
 
+
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, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleParameterAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeInvisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleParameterAnnotationsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, RecordComponentInfo, AttributeVisitor) - Method in class proguard.classfile.attribute.annotation.RuntimeVisibleTypeAnnotationsAttribute
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.CatchTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
+
Lets the visitor visit, with Field null.
+
+
accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
 
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.EmptyTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
+
Lets the visitor visit, with Method null.
+
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.FormalParameterTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.OffsetTargetInfo
+
 
+
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, 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, 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, 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, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
+
Lets the visitor visit, with Method null.
+
+
accept(Clazz, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.ThrowsTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
+
Lets the visitor visit, with Method and CodeAttribute null.
+
+
accept(Clazz, Method, CodeAttribute, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeArgumentTargetInfo
+
 
+
accept(Clazz, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
accept(Clazz, Field, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterBoundTargetInfo
+
 
+
accept(Clazz, Method, 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, Method, TypeAnnotation, TargetInfoVisitor) - Method in class proguard.classfile.attribute.annotation.target.TypeParameterTargetInfo
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor.
+
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given field.
+
+
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, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.Attribute
+
+
Accepts the given visitor in the context of the given code attribute.
+
+
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, AttributeVisitor) - Method in class proguard.classfile.attribute.BootstrapMethodsAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.ConstantValueAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.DeprecatedAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.EnclosingMethodAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.ExceptionsAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.InnerClassesAttribute
+
 
+
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, AttributeVisitor) - Method in class proguard.classfile.attribute.MethodParametersAttribute
+
 
+
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, 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, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.IntegerType
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.LessZeroFrame
+
 
+
accept(Clazz, Method, CodeAttribute, int, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.LongType
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.MoreZeroFrame
+
 
+
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, 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, AttributeVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, int, StackMapFrameVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapFrame
+
+
Accepts the given visitor.
+
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
 
+
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, AttributeVisitor) - Method in class proguard.classfile.attribute.RecordAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.SignatureAttribute
+
 
+
accept(Clazz, RecordComponentInfo, 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, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.SyntheticAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.SyntheticAttribute
+
 
+
accept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, Field, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(Clazz, Method, CodeAttribute, AttributeVisitor) - Method in class proguard.classfile.attribute.UnknownAttribute
+
 
+
accept(int, int, int) - Method in interface proguard.classfile.attribute.visitor.MaxStackSizeComputer.StackSizeConsumer
+
 
+
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(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, 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(int, int[], String[], String[], int, String, String) - Method in interface proguard.classfile.io.LibraryClassReader.KotlinMetadataElementValueConsumer
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeAliasMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinTypeParameterMetadata, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
accept(Clazz, KotlinAnnotatable, KotlinAnnotation, KotlinAnnotationArgumentVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument
+
 
+
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, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinConstructorVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractVisitor) - Method in class proguard.classfile.kotlin.KotlinContractMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinContractMetadata, KotlinEffectVisitor) - Method in class proguard.classfile.kotlin.KotlinEffectMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinFileFacadeKindMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
accept(Clazz, KotlinSyntheticClassKindMetadata, KotlinFunctionVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
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, KotlinDeclarationContainerMetadata, KotlinPropertyVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
accept(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.KotlinSyntheticClassKindMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
accept(Clazz, KotlinTypeParameterMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeAliasMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeParameterMetadata
+
 
+
accept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinValueParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinConstructorMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
accept(Clazz, KotlinMetadata, KotlinTypeAliasMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinVersionRequirementMetadata
+
 
+
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(Clazz, KotlinMetadataVisitor) - Method in class proguard.classfile.kotlin.UnsupportedKotlinMetadata
+
 
+
accept(ClassVisitor) - Method in class proguard.classfile.LibraryClass
+
 
+
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(Clazz, MemberVisitor) - Method in class proguard.classfile.LibraryMember
+
 
+
accept(LibraryClass, MemberVisitor) - Method in class proguard.classfile.LibraryMethod
+
 
+
accept(Clazz, MemberVisitor) - Method in interface proguard.classfile.Member
+
+
Accepts the given class visitor.
+
+
accept(ClassVisitor) - Method in class proguard.classfile.ProgramClass
+
 
+
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(Clazz, MemberVisitor) - Method in class proguard.classfile.ProgramMember
+
 
+
accept(ProgramClass, MemberVisitor) - Method in class proguard.classfile.ProgramMethod
+
 
+
accept(DexFileVisitor) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor, int) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor, int, int) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(Consumer<String>) - Method in interface proguard.dexfile.reader.BaseDexFileReader
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor, int) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor, int, int) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(Consumer<String>) - Method in class proguard.dexfile.reader.DexContainerReader
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.DexFileReader
+
+ +
+
accept(DexFileVisitor, int) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Makes the given visitor visit the dex file.
+
+
accept(DexFileVisitor, int, int) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Makes the given visitor visit the dex file.
+
+
accept(Consumer<String>) - Method in class proguard.dexfile.reader.DexFileReader
+
+
Provides the given consumer with all strings in the dex file.
+
+
accept(DexAnnotationAble) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.node.DexClassNode
+
 
+
accept(DexCodeVisitor) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
accept(DexMethodVisitor) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
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(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
accept(DexFieldVisitor) - Method in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
accept(DexFileVisitor) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
accept(DexClassVisitor) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
accept(DexMethodVisitor) - Method in class proguard.dexfile.reader.node.DexMethodNode
+
 
+
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(ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFile
+
 
+
accept(ResourceFileVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
accept(KotlinModuleVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModule
+
 
+
accept(KotlinModule, KotlinModulePackageVisitor) - Method in class proguard.resources.kotlinmodule.KotlinModulePackage
+
 
+
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(DataEntry) - Method in class proguard.classfile.io.visitor.ProcessingFlagDataEntryFilter
+
 
+
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.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(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(T) - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
add(DexStmtNode) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
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(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given DoubleValue.
+
+
add(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given SpecificDoubleValue.
+
+
add(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the sum of this DoubleValue and the given ParticularDoubleValue.
+
+
add(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given FloatValue.
+
+
add(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given SpecificFloatValue.
+
+
add(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the sum of this FloatValue and the given ParticularFloatValue.
+
+
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(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given IntegerValue.
+
+
add(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given UnknownIntegerValue.
+
+
add(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given SpecificIntegerValue.
+
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given ParticularIntegerValue.
+
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the sum of this IntegerValue and the given RangeIntegerValue.
+
+
add(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given LongValue.
+
+
add(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given SpecificLongValue.
+
+
add(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the sum of this LongValue and the given ParticularLongValue.
+
+
add(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
add(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
add(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
add(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
add(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
add(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
add(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
add(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
add(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
add(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
add(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
add(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
add(int, ClassPathEntry) - Method in class proguard.io.ClassPath
+
 
+
add(ClassPathEntry) - Method in class proguard.io.ClassPath
+
 
+
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(short[], int, short) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(int[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(long[], int, long) - 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(double[], int, double) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
add(T[], int, T) - Static method in class proguard.util.ArrayUtil
+
+
Adds the given element to the given array.
+
+
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<Stmt>) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
addAll(Collection<? extends T>) - Method in class proguard.dexfile.ir.ts.UniqueQueue
+
 
+
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, 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.
+
+
addAndReturnMethod(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
Adds a new method to the edited class, and returns it.
+
+
addAnnotation(Annotation) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Adds a given annotation to the annotations attribute.
+
+
addAnnotation(int, Annotation) - Method in class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
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(Clazz) - Method in class proguard.classfile.ClassPool
+
+
Adds the given Clazz to the class pool.
+
+
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.
+
+
addClassConstant(Clazz) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ClassConstant constant pool entry for the given class.
+
+
addClassConstant(String, Clazz) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ClassConstant constant pool entry with the given name.
+
+
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.
+
+
addClassPoolVisitor(ClassPoolVisitor) - Method in class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
addClassVisitor(ClassVisitor) - Method in class proguard.classfile.visitor.MultiClassVisitor
+
 
+
addClassVisitor(ConstantVisitor) - Method in class proguard.classfile.visitor.MultiConstantVisitor
+
 
+
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, ConstantPoolEditor) - 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.
+
+
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, MemberVisitor) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(Field) - Method in class proguard.classfile.editor.ClassEditor
+
+
Adds the given field.
+
+
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.LibraryClassBuilder
+
+
Adds a new field to the edited class.
+
+
addField(Field) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Adds the given field.
+
+
addFieldrefConstant(Clazz, Field) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a FieldrefConstant constant pool entry for the given class and field.
+
+
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(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(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(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.
+
+
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(Clazz) - Method in class proguard.classfile.editor.ClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String) - Method in class proguard.classfile.editor.ClassBuilder
+
+
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(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(Clazz) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
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.LibraryClassBuilder
+
+
Adds a new interface to the edited class.
+
+
addInterface(String, Clazz) - Method in class proguard.classfile.editor.LibraryClassEditor
+
+
Adds the given interface.
+
+
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(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(Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a InterfaceMethodrefConstant constant pool entry for the given class and + method.
+
+
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(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.
+
+
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, 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.
+
+
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.
+
+
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, MemberVisitor) - Method in class proguard.classfile.editor.ClassBuilder
+
+
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(Method) - Method in class proguard.classfile.editor.ClassEditor
+
+
Adds the given method.
+
+
addMethod(int, String, String) - Method in class proguard.classfile.editor.LibraryClassBuilder
+
+
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.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(Clazz, Method) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodrefConstant constant pool entry for the given class and method.
+
+
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(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(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(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.
+
+
addMethodTypeConstant(String, Clazz[]) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a MethodTypeConstant constant pool entry with the given descriptor.
+
+
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.
+
+
addModuleConstant(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ModuleConstant constant pool entry with the given name.
+
+
addModuleConstant(int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a ModuleConstant constant pool entry with the given name constant pool index.
+
+
addNameAndTypeConstant(String, String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a NameAndTypeConstant constant pool entry with the given name and descriptor.
+
+
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.
+
+
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(String) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a PackageConstant constant pool entry with the given name.
+
+
addPackageConstant(int) - Method in class proguard.classfile.editor.ConstantPoolEditor
+
+
Finds or creates a PackageConstant constant pool entry with the given name constant pool index.
+
+
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(ResourceFile) - Method in class proguard.resources.file.ResourceFilePool
+
+
Adds the given ResourceFile to this pool.
+
+
addResourceFile(String, ResourceFile) - Method in class proguard.resources.file.ResourceFilePool
+
+
Adds the given ResourceFile with the given name 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(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) - 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.
+
+
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(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.
+
+
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
+
 
+
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.
+
+
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(AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
+
Creates a new shallow AllAttributeVisitor.
+
+
AllAttributeVisitor(boolean, AttributeVisitor) - Constructor for class proguard.classfile.attribute.visitor.AllAttributeVisitor
+
+
Creates a new optionally deep 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(ElementValueVisitor) - Constructor for class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
+
Creates a new AllElementValueVisitor.
+
+
AllElementValueVisitor(boolean, 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
+
 
+
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.
+
+
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
+
 
+
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 - Interface in proguard.dexfile.ir.ts.an
+
 
+
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
+
 
+
and(TriPredicate<? super T, ? super U, ? super V>) - Method in interface proguard.analysis.cpa.util.TriPredicate
+
+
Returns a conjunction of this and other.
+
+
AND - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
AND - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given IntegerValue.
+
+
and(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given UnknownIntegerValue.
+
+
and(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given SpecificIntegerValue.
+
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given ParticularIntegerValue.
+
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical and of this IntegerValue and the given RangeIntegerValue.
+
+
and(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given LongValue.
+
+
and(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given SpecificLongValue.
+
+
and(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical and of this LongValue and the given ParticularLongValue.
+
+
and(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
and(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
and(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
and(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
and(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
anewarray(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
anewarray(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
anewarray(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
anewarray(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ANNOTATION - Static variable in class proguard.classfile.AccessConstants
+
 
+
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.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, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationElementValue
+
+
Applies the given visitor to the annotation.
+
+
annotationAccept(Clazz, int, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to the specified class 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, Method, int, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to the specified method annotation.
+
+
annotationAccept(Clazz, KotlinAnnotatable, KotlinAnnotationVisitor) - Method in class proguard.classfile.kotlin.KotlinAnnotationArgument.AnnotationValue
+
 
+
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, Method, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all method annotations.
+
+
annotationsAccept(Clazz, Method, CodeAttribute, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.AnnotationsAttribute
+
+
Applies the given visitor to all code attribute annotations.
+
+
annotationsAccept(Clazz, Method, AnnotationVisitor) - Method in class proguard.classfile.attribute.annotation.ParameterAnnotationsAttribute
+
+
Applies the given visitor to all 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
+
 
+
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(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.
+
+
appendPrintIntegerHexInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top integer on the stack as a hexadecimal value.
+
+
appendPrintIntegerInstructions(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the given message and the top int on the stack.
+
+
appendPrintIntegerInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top int 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.
+
+
appendPrintLongInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top long 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.
+
+
appendPrintObjectInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the top Object 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.
+
+
appendPrintStackTraceInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out the stack trace of the top Throwable 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.
+
+
appendPrintStringInstructions() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends instructions to print out 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(T, U, V) - Method in interface proguard.analysis.cpa.util.TriFunction
+
+
Returns the result of the function on given arguments
+
+
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).
+
+
ApplyPeepholeOptimizations - Class in proguard.examples
+
+
This sample application illustrates how to modify bytecode with the ProGuardCORE API.
+
+
ApplyPeepholeOptimizations() - Constructor for class proguard.examples.ApplyPeepholeOptimizations
+
 
+
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 - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
ARRAY - Static variable in class proguard.classfile.TypeConstants
+
 
+
array() - Method in class proguard.classfile.util.ArrayInitializationMatcher
+
+
Returns the recent static array initialization.
+
+
array - Variable in class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
ARRAY_INDEX_OUT_OF_BOUND - Static variable in class proguard.exception.ErrorId
+
 
+
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
+
+
A Model to track array values.
+
+
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
+
 
+
assignField(SetAbstractState<Reference>, String, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
assignField(SetAbstractState<Reference>, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Assigns the field value to the given one if the reference is unambiguous, joins otherwise.
+
+
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(Clazz, Method, AttributeVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given attribute visitor to all attributes.
+
+
attributesAccept(Clazz, AttributeVisitor) - Method in class proguard.classfile.attribute.RecordComponentInfo
+
+
Applies the given attribute visitor to all attributes.
+
+
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(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 - 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
+
 
+
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
+
 
+
backingFieldSignature - Variable in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
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 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(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.
+
+
BamCpa(BamTransferRelation<CfaNodeT, CfaEdgeT, SignatureT>) - Constructor for class proguard.analysis.cpa.bam.BamCpa
+
+
Create a BamCpa with a specific transfer relation.
+
+
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.
+
+
Base64Util - Class in proguard.util
+
+
Utility class for Base64 encoding.
+
+
Base64Util() - Constructor for class proguard.util.Base64Util
+
 
+
BASE_ANDROID_MANIFEST_XML_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
BASE_RESOURCES_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
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
+
 
+
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.
+
+
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 - 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(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() - Method in interface proguard.evaluation.executor.Executor.Builder
+
+
Build an executor.
+
+
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
+
 
+
Builder(ClassPool, ClassPool, CallGraph, CallVisitor...) - Constructor for class proguard.analysis.CallResolver.Builder
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
Builder(Signature) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmInvokeTaintSink.Builder
+
+
Create a new builder for JvmInvokeTaintSink.
+
+
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(JvmCfa, MethodSignature, ClassPool) - Constructor for class proguard.analysis.cpa.jvm.domain.value.JvmValueBamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
Builder() - Constructor for class proguard.evaluation.ExecutingInvocationUnit.Builder
+
 
+
Builder(ClassPool) - Constructor for class proguard.evaluation.executor.StringReflectionExecutor.Builder
+
 
+
Builder() - Constructor for class proguard.evaluation.MethodResult.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
+
 
+
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 - 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
+
 
+
c - Variable in class proguard.dexfile.reader.node.insn.Stmt3RNode
+
 
+
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
+
 
+
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
+
 
+
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>>, CallVisitor...) - 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.
+
+
CallVisitor - Interface in proguard.analysis
+
+
This visitor is invoked by the CallResolver whenever new method calls have been resolved + in the code.
+
+
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.
+
+
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(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 - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
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
+
 
+
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, 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
+
+ +
+
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.
+
+
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 - Class in proguard.evaluation.value
+
+
This abstract class represents a partially evaluated Category 1 value.
+
+
Category1Value() - Constructor for class proguard.evaluation.value.Category1Value
+
 
+
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.
+
+
Category2Value - Class in proguard.evaluation.value
+
+
This abstract class represents a partially evaluated Category 2 value.
+
+
Category2Value() - Constructor for class proguard.evaluation.value.Category2Value
+
 
+
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.
+
+
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
+
 
+
cfa - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
cfa - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
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, KotlinModule) - 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, KotlinModule) - 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.KotlinModuleIntegrity
+
 
+
checkcast(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
checkcast(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
checkcast(int) - 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_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_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_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_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
+
 
+
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(ClassVisitor) - Method in class proguard.classfile.ClassPool
+
+
Applies the given ClassVisitor to all classes in the class pool, in random order.
+
+
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(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, 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.
+
+
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, 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.
+
+
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
+
 
+
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
+
+
A Model to track specific Clazz constants.
+
+
ClassModel(Clazz) - Constructor for class proguard.evaluation.value.object.ClassModel
+
 
+
className - Variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
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, WildcardManager, 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, WildcardManager, 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(String, ClassVisitor, 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, 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, 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(Clazz...) - Constructor for class proguard.classfile.ClassPool
+
+
Creates a new ClassPool with the given classes.
+
+
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.
+
+
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, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassPresenceFilter
+
+
Creates a new ClassPresenceFilter.
+
+
ClassPresenceFilter(ClassPool, 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, WarningPrinter, ClassVisitor) - Constructor for class proguard.io.ClassReader
+
+
Creates a new ClassReader for reading the specified Clazz objects.
+
+
ClassReader(boolean, 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, 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, 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, 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.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>, ClassVisitor, MemberVisitor) - Constructor for class proguard.classfile.util.ClassRenamer
+
 
+
ClassRenamer(Function<Clazz, String>, BiFunction<Clazz, Member, 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, 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.
+
+
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.
+
+
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, ClassVisitor) - Constructor for class proguard.classfile.visitor.ClassVersionFilter
+
+
Creates a new ClassVersionFilter.
+
+
ClassVersionFilter(int, 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 - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of Clazz instances.
+
+
classVisitor - Variable in class proguard.classfile.visitor.DynamicReturnedClassVisitor
+
 
+
clazz - Variable in class proguard.analysis.datastructure.CodeLocation
+
 
+
Clazz - Interface in proguard.classfile
+
+
This interface provides access to the fundamental properties of a Java class.
+
+
clazz - Variable in class proguard.classfile.kotlin.reflect.JavaReferenceInfo
+
 
+
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.cpa.jvm.state.heap.tree.HeapNode
+
 
+
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(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.ArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.BinopExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.CastExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Constant
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Constant
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.FieldExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.FilledArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeCustomExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.InvokePolymorphicExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Local
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Local
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.NewExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.NewMutiArrayExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.PhiExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.PhiExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.RefExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.StaticFieldExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.TypeExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.UnopExpr
+
 
+
clone() - Method in class proguard.dexfile.ir.expr.Value
+
 
+
clone(LabelAndLocalMapper) - Method in class proguard.dexfile.ir.expr.Value
+
 
+
clone() - Method in class proguard.dexfile.ir.IrMethod
+
 
+
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(long) - 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
+
 
+
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
+
 
+
CODE - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
code - Variable in class proguard.classfile.attribute.CodeAttribute
+
 
+
code(CompactCodeAttributeComposer) - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
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(Set<String>) - Constructor for class proguard.util.CollectionMatcher
+
 
+
CollectionMatcher(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(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, 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(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(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.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(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(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(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(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(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(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(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(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(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(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
compare(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
compare(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
compare(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
compare(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
compare(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
compare(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
compare(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
compare(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
compare(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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(short[], int, short[], 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(float[], int, float[], 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(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.
+
+
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(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(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(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(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(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(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(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.
+
+
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.
+
+
compareTo(Location) - Method in class proguard.analysis.datastructure.CodeLocation
+
 
+
compareTo(Location) - Method in class proguard.analysis.datastructure.FileLocation
+
 
+
compareTo(Object) - Method in class proguard.classfile.attribute.LocalVariableInfo
+
 
+
compareTo(Object) - Method in class proguard.classfile.attribute.LocalVariableTypeInfo
+
 
+
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.
+
+
CompositeHeapJvmAbstractState - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
This AbstractWrapperState stores a JvmReferenceAbstractState having the JvmTreeHeapPrincipalAbstractState and a sequence of + JvmAbstractStates which may have JvmTreeHeapFollowerAbstractStates depending on + the first abstract state.
+
+
CompositeHeapJvmAbstractState(List<JvmAbstractState<? extends LatticeAbstractState<? extends AbstractState>>>) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
+
Create a composite abstract state from a list of JVM abstract states.
+
+
CompositeHeapTransferRelation - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A wrapper class around multiple JvmTransferRelations applying them elementwise to CompositeHeapJvmAbstractStates.
+
+
CompositeHeapTransferRelation(List<JvmTransferRelation<? extends AbstractState>>) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapTransferRelation
+
+
Create a composite transfer relation from a list of transfer relations.
+
+
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, Method) - Static method in class proguard.classfile.MethodSignature
+
+
Get the singleton MethodSignature object for this specific Method.
+
+
computeIfAbsent(Clazz, Member) - Static method in class proguard.classfile.Signature
+
+ +
+
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
+
 
+
ConcreteCall - Class in proguard.analysis.datastructure.callgraph
+
+
A method call whose target Method is contained in our ClassPool.
+
+
ConcreteCall(CodeLocation, Clazz, Method, Value, List<Value>, Value, int, Instruction, boolean, boolean) - Constructor for class proguard.analysis.datastructure.callgraph.ConcreteCall
+
 
+
ConcreteCall(CodeLocation, Clazz, Method, 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
+
+ +
+
Constant - Class in proguard.classfile.constant
+
+
This abstract class represents an entry in the constant pool of a class.
+
+
Constant() - Constructor for class proguard.classfile.constant.Constant
+
 
+
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.dexfile.ir.expr
+
+
Represent a constant, number/string/type
+
+
Constant(Object) - Constructor for class proguard.dexfile.ir.expr.Constant
+
 
+
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(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
+
 
+
contains(int) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns whether the given value is present in this list of instruction offsets.
+
+
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
+
 
+
containsKey(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
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
+
 
+
containsValue(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
content - Variable in class proguard.dexfile.reader.node.insn.Stmt2R1NNode
+
 
+
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, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
contextReceiverTypesAccept(Clazz, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
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(boolean, Method, DexCodeNode) - Method in class proguard.dexfile.converter.Dex2IRConverter
+
 
+
convert() - Method in class proguard.dexfile.converter.IR2ProConverter
+
 
+
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.CompositeHeapJvmAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmBasicTaintTreeHeapFollowerAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
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.HeapNode
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
copy() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
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(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) - Static method in class proguard.classfile.instruction.InstructionFactory
+
+
Creates a new Instruction corresponding to the given opcode.
+
+
create(byte, boolean) - Static method in class proguard.classfile.instruction.InstructionFactory
+
+
Creates a new Instruction corresponding to the given opcode.
+
+
create() - Static method in class proguard.evaluation.PartialEvaluator.Builder
+
 
+
create(Object, String, Clazz) - Static method in class proguard.evaluation.value.object.AnalyzedObjectFactory
+
+
Create a AnalyzedObject, representing the tracked value for a reference type.
+
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
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) - Method in class proguard.evaluation.value.ArrayReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.DetailedArrayValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - 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, Object) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createArrayReferenceValue(String, Clazz, IntegerValue, Object) - 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, Object) - 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 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.
+
+
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(double) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createDoubleValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createDoubleValue(double) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createDoubleValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createDoubleValue(double) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createDoubleValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new DoubleValue with an undefined value.
+
+
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(float) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createFloatValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createFloatValue(float) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createFloatValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createFloatValue(float) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createFloatValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new FloatValue with an undefined value.
+
+
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(int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.value.BasicRangeValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue(int, int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createIntegerValue() - Method in class proguard.evaluation.value.RangeValueFactory
+
 
+
createIntegerValue(int) - Method in class proguard.evaluation.value.RangeValueFactory
+
 
+
createIntegerValue(int, int) - 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 interface proguard.evaluation.value.ValueFactory
+
+
Creates a new IntegerValue with a given particular value.
+
+
createIntegerValue(int, int) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new IntegerValue with a given possible range.
+
+
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) - Static method in class proguard.analysis.cpa.jvm.util.CfaUtil
+
+
Create an interprocedural CFA from the given program class pool.
+
+
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, 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
+
 
+
createJvmAbstractState(JvmCfaNode, JvmFrameAbstractState<StateT>, JvmHeapAbstractState<StateT>, MapAbstractState<String, StateT>) - Method in interface proguard.analysis.cpa.jvm.state.JvmAbstractStateFactory
+
+
Returns an instance of JvmAbstractState.
+
+
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(long) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createLongValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createLongValue(long) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createLongValue() - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createLongValue(long) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createLongValue() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new LongValue with an undefined value.
+
+
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(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(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.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(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmCfaReferenceValueFactory
+
 
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - 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, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValue() - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValue() - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - Method in class proguard.evaluation.value.BasicValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.IdentifiedValueFactory
+
+
Deprecated.
+
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.MultiTypedReferenceValueFactory
+
 
+
createReferenceValue() - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
createReferenceValue(String, Clazz, boolean, boolean, Clazz, Method, int, Object) - Method in class proguard.evaluation.value.ParticularValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, CodeLocation, AnalyzedObject) - 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() - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue of an undefined type.
+
+
createReferenceValue(Clazz) - Method in interface proguard.evaluation.value.ValueFactory
+
 
+
createReferenceValue(Clazz, Object) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
 
+
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 interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
createReferenceValue(Clazz, boolean, boolean, AnalyzedObject) - Method in interface proguard.evaluation.value.ValueFactory
+
+
Creates a new ReferenceValue that represents the given type.
+
+
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 interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
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.
+
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.ParticularReferenceValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
 
+
createReferenceValueForId(String, Clazz, boolean, boolean, Object, Object) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - 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, Object) - Method in class proguard.evaluation.value.BasicValueFactory
+
+
Deprecated.
+
+
createReferenceValueForId(Clazz, boolean, boolean, Object, AnalyzedObject) - 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, 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(Clazz, boolean, boolean, Object, AnalyzedObject) - Method in class proguard.evaluation.value.ParticularValueFactory
+
 
+
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 interface proguard.evaluation.value.ValueFactory
+
+
Deprecated.
+
+
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(InputStream) - Static method in class proguard.dexfile.reader.DexReaderFactory
+
 
+
createSingleReader(byte[]) - 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.
+
+
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) - 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.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
+
 
+
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(DataEntryWriter) - Constructor for class proguard.io.DataEntryClassWriter
+
+
Creates a new DataEntryClassWriter for writing to the given DataEntryWriter.
+
+
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.
+
+
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
+
 
+
dcmpl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
dcmpl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
 
+
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(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(String, long, 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_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.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
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(Annotation) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Deletes a given annotation from the annotations attribute.
+
+
deleteAnnotation(int) - Method in class proguard.classfile.editor.AnnotationsAttributeEditor
+
+
Deletes the annotation at the given idnex from the annotations attribute.
+
+
deleteAnnotation(int, Annotation) - Method in class proguard.classfile.editor.ParameterAnnotationsAttributeEditor
+
+
Deletes a given annotation 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.
+
+
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
+
 
+
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.
+
+
DetailedArrayReferenceValue(String, Clazz, boolean, IntegerValue, ValueFactory, int) - Constructor for class proguard.evaluation.value.DetailedArrayReferenceValue
+
+
Creates a new array reference value with the given ID.
+
+
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
+
 
+
determineCompressionMethod(ClassPath) - Static method in class proguard.io.util.ClassPathUtil
+
+
Loop through all the input zip entries in ClassPath to determine the compression + methods.
+
+
Dex2IRConverter - Class in proguard.dexfile.converter
+
 
+
Dex2IRConverter() - Constructor for class proguard.dexfile.converter.Dex2IRConverter
+
 
+
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 - Variable in class proguard.io.ParallelDexClassReader
+
 
+
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
+
 
+
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(DexClassVisitor, int, String, String, String[]) - Constructor for class proguard.dexfile.reader.node.DexClassNode
+
 
+
DexClassNode(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, ClassVisitor) - Constructor for class proguard.io.DexClassReader
+
+
Creates a new DexClassReader.
+
+
DexClassReader(boolean, 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 - 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.
+
+
dexDataEntryWriter - Variable in class proguard.io.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(Throwable) - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(String, Throwable) - Constructor for exception proguard.dexfile.reader.DexException
+
 
+
DexException(Throwable, String, Object...) - Constructor for exception proguard.dexfile.reader.DexException
+
+
this is equals to
+
+
DexException(String, Object...) - Constructor for exception proguard.dexfile.reader.DexException
+
+
this is equals to
+
+
DexFieldNode - Class in proguard.dexfile.reader.node
+
 
+
DexFieldNode(DexFieldVisitor, int, Field, Object) - Constructor for class proguard.dexfile.reader.node.DexFieldNode
+
 
+
DexFieldNode(int, Field, Object) - Constructor for class proguard.dexfile.reader.node.DexFieldNode
+
 
+
DexFieldVisitor - Class in proguard.dexfile.reader.visitors
+
 
+
DexFieldVisitor(DexFieldVisitor) - Constructor for class proguard.dexfile.reader.visitors.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(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.
+
+
DexFileReader(byte[]) - Constructor for class proguard.dexfile.reader.DexFileReader
+
 
+
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(int) - Constructor for class proguard.dexfile.reader.DexLabel
+
 
+
DexLabel() - 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(DexMethodVisitor, int, Method) - Constructor for class proguard.dexfile.reader.node.DexMethodNode
+
 
+
DexMethodNode(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(Map<KeyT, AbstractSpaceT>) - Constructor for class proguard.analysis.cpa.defaults.DifferentialMapAbstractState
+
 
+
DifferentialMapAbstractState(Predicate<DifferentialMap<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
+
 
+
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
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given DoubleValue.
+
+
divide(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given SpecificDoubleValue.
+
+
divide(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of this DoubleValue and the given ParticularDoubleValue.
+
+
divide(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given FloatValue.
+
+
divide(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given SpecificFloatValue.
+
+
divide(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of this FloatValue and the given ParticularFloatValue.
+
+
divide(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given IntegerValue.
+
+
divide(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given UnknownIntegerValue.
+
+
divide(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given SpecificIntegerValue.
+
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given ParticularIntegerValue.
+
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of this IntegerValue and the given RangeIntegerValue.
+
+
divide(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given LongValue.
+
+
divide(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given SpecificLongValue.
+
+
divide(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of this LongValue and the given ParticularLongValue.
+
+
divide(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divide(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divide(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divide(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divide(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divide(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divide(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divide(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
divide(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
divide(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
divide(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given DoubleValue and this DoubleValue.
+
+
divideOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given SpecificDoubleValue and this DoubleValue.
+
+
divideOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the quotient of the given ParticularDoubleValue and this DoubleValue.
+
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given FloatValue and this FloatValue.
+
+
divideOf(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given SpecificFloatValue and this FloatValue.
+
+
divideOf(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the quotient of the given ParticularFloatValue and this FloatValue.
+
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given IntegerValue and this IntegerValue.
+
+
divideOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given UnknownIntegerValue and this IntegerValue.
+
+
divideOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given SpecificIntegerValue and this IntegerValue.
+
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given ParticularIntegerValue and this IntegerValue.
+
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the quotient of the given RangeIntegerValue and this IntegerValue.
+
+
divideOf(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given LongValue and this LongValue.
+
+
divideOf(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given SpecificLongValue and this LongValue.
+
+
divideOf(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the quotient of the given ParticularLongValue and this LongValue.
+
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divideOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divideOf(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divideOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divideOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divideOf(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divideOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
divideOf(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
divideOf(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
divideOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
divideOf(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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 - 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_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(double) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.DoubleValue
+
 
+
DoubleValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated double value.
+
+
DoubleValue() - Constructor for class proguard.evaluation.value.DoubleValue
+
 
+
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.
+
+
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
+
 
+
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
+
 
+
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
+
 
+
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
+
 
+
E0Expr(Value.VT) - Constructor for class proguard.dexfile.ir.expr.Value.E0Expr
+
 
+
E0Stmt(Stmt.ST) - Constructor for class proguard.dexfile.ir.stmt.Stmt.E0Stmt
+
 
+
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
+
 
+
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, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.Annotation
+
+
Applies the given visitor to all element value pairs.
+
+
elementValuesAccept(Clazz, Annotation, ElementValueVisitor) - Method in class proguard.classfile.attribute.annotation.ArrayElementValue
+
+
Applies the given visitor to all nested element values.
+
+
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.
+
+
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[], 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.
+
+
encode(byte[]) - Static method in class proguard.util.Base64Util
+
+
Encodes the given array of bytes as a Base64 string.
+
+
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(short[], int, short) - 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(float[], int, float) - 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(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.
+
+
ENTRY_POINTS_ACTIVITY - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
ENTRY_POINTS_BROADCAST_RECEIVER - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
ENTRY_POINTS_CONTENT_PROVIDER - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
ENTRY_POINTS_FRAGMENT - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
ENTRY_POINTS_SERVICE - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
EntryPoint - Class in proguard.analysis.datastructure.callgraph
+
+
This class serves as a static collection of entry points for an app.
+
+
EntryPoint(EntryPoint.Type, String, String) - Constructor for class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
EntryPoint.Type - Enum in proguard.analysis.datastructure.callgraph
+
 
+
entrySet() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
entrySet() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
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
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
equal(ArrayReferenceValue) - 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(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given IntegerValue are equal: NEVER, + MAYBE, or ALWAYS.
+
+
equal(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given UnknownIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given SpecificIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given ParticularIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given RangeIntegerValue are equal: NEVER + , MAYBE, or ALWAYS.
+
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
equal(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ReferenceValue.
+
+
equal(UnknownReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other UnknownReferenceValue.
+
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other TypedReferenceValue.
+
+
equal(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other MultiTypedReferenceValue.
+
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other IdentifiedReferenceValue.
+
+
equal(ArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ArrayReferenceValue.
+
+
equal(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other IdentifiedArrayReferenceValue.
+
+
equal(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other DetailedArrayReferenceValue.
+
+
equal(TracedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other TracedReferenceValue.
+
+
equal(ParticularReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns whether this ReferenceValue is equal to the given other ParticularReferenceValue.
+
+
equal(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(UnknownReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(ArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(TracedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
equal(TypedReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
equal(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
equal(ReferenceValue) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
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(short[], short[], 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(float[], float[], 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(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.
+
+
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.defaults.MemoryLocation
+
 
+
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.HeapNode
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
equals(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
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.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.EntryPoint
+
 
+
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.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.ArrayModel
+
 
+
equals(Object) - Method in class proguard.evaluation.value.object.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.
+
+
escapeControlCharacters(String) - Static method in class proguard.util.StringUtil
+
+
Escapes control characters (\n, \r, \b, \t, \f).
+
+
ET - Enum in proguard.dexfile.ir
+
+
The number of argument
+
+
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
+
+
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
+
 
+
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
+
 
+
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, ExceptionInfoVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given exception visitor to all exceptions.
+
+
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, 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.
+
+
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(DexStmtNode, DvmInterpreter<V>) - Method in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
execute(WarningLogger, ClassPool, ClassPool, ResourceFilePool) - Method in class proguard.util.kotlin.asserter.KotlinMetadataAsserter
+
 
+
executeMainMethod(ProgramClass) - Static method in class proguard.examples.util.ExampleUtil
+
+
Execute the "main" method of a ProGuardCORE ProgramClass.
+
+
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.
+
+
executeMethod(ConcreteCall, Value...) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Execute the method given by a ConcreteCall.
+
+
executeMethod(Executor, MethodExecutionInfo) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Executes a method using a given Executor.
+
+
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.
+
+
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.reference.JvmCompositeHeapExpandOperator
+
 
+
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.
+
+
expand(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
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(short[], 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(float[], 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(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_(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class extends the given class.
+
+
extends_(String) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class extends the specified class.
+
+
extends_(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
extends_(String) - Method in class proguard.classfile.LibraryClass
+
 
+
extends_(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
extends_(String) - Method in class proguard.classfile.ProgramClass
+
 
+
EXTENDS_INDEX - Static variable in class proguard.classfile.attribute.annotation.target.SuperTypeTargetInfo
+
 
+
extendsOrImplements(Clazz) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class implements the given class.
+
+
extendsOrImplements(String) - Method in interface proguard.classfile.Clazz
+
+
Returns whether this class implements the specified class.
+
+
extendsOrImplements(Clazz) - Method in class proguard.classfile.LibraryClass
+
 
+
extendsOrImplements(String) - Method in class proguard.classfile.LibraryClass
+
 
+
extendsOrImplements(Clazz) - Method in class proguard.classfile.ProgramClass
+
 
+
extendsOrImplements(String) - 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(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an internal class name into an external class name.
+
+
externalClassName - Variable in class proguard.resources.file.ResourceJavaReference
+
 
+
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(AbstractStateT, T) - Method in class proguard.analysis.cpa.defaults.MemoryLocation
+
+
Returns an AbstractState representing value stored at the MemoryLocation in the + input AbstractState.
+
+
extractValueOrDefault(JvmAbstractState, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
extractValueOrDefault(JvmAbstractState, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmLocalVariableLocation
+
 
+
extractValueOrDefault(JvmAbstractState, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmStackLocation
+
 
+
extractValueOrDefault(JvmAbstractState, T) - Method in class proguard.analysis.cpa.jvm.witness.JvmStaticFieldLocation
+
 
+
extraFeatureNames - Variable in class proguard.util.SimpleFeatureNamedProcessable
+
 
+
+ + + +

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
+
 
+
fcmpl() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
fcmpl() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
 
+
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 - Interface in proguard.classfile
+
+
Representation of a field in a class.
+
+
Field - Class in proguard.dexfile.reader
+
+
represent a field_id_item in dex file format
+
+
Field(String, String, String) - Constructor for class proguard.dexfile.reader.Field
+
 
+
field - Variable in class proguard.dexfile.reader.node.DexFieldNode
+
 
+
field - Variable in class proguard.dexfile.reader.node.insn.FieldStmtNode
+
 
+
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.
+
+
FillArrayDataStmtNode - Class in proguard.dexfile.reader.node.insn
+
 
+
FillArrayDataStmtNode(Op, int, Object) - Constructor for class proguard.dexfile.reader.node.insn.FillArrayDataStmtNode
+
 
+
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(StringMatcher, StringFunction, StringFunction) - Constructor for class proguard.util.FilteredStringFunction
+
 
+
FilteredStringFunction(String, 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(DexFileNode) - Static method in class proguard.dexfile.converter.DexFix
+
 
+
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
+
+
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 - 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_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(float) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.FloatValue
+
 
+
FloatValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated float value.
+
+
FloatValue() - Constructor for class proguard.evaluation.value.FloatValue
+
 
+
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.
+
+
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
+
 
+
followerHeapMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
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
+
 
+
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, VerificationType[], VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.FullFrame
+
+
Creates a FullFrame with the given variables and stack.
+
+
FullFrame(int, int, VerificationType[], int, 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
+
+
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(ReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.ArrayReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.DetailedArrayReferenceValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other DoubleValue.
+
+
generalize(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other SpecificDoubleValue.
+
+
generalize(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the generalization of this DoubleValue and the given other ParticularDoubleValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.DoubleValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other FloatValue.
+
+
generalize(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other SpecificFloatValue.
+
+
generalize(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the generalization of this FloatValue and the given other ParticularFloatValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.FloatValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.IdentifiedReferenceValue
+
 
+
generalize(InstructionOffsetValue) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
+
Returns the generalization of this InstructionOffsetValue and the given other + InstructionOffsetValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other IntegerValue.
+
+
generalize(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other UnknownIntegerValue.
+
+
generalize(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other SpecificIntegerValue.
+
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other ParticularIntegerValue.
+
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the generalization of this IntegerValue and the given other RangeIntegerValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.IntegerValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other LongValue.
+
+
generalize(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other SpecificLongValue.
+
+
generalize(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the generalization of this LongValue and the given other ParticularLongValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.LongValue
+
 
+
generalize(Set<TypedReferenceValue>) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.MultiTypedReferenceValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
generalize(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
generalize(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
generalize(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
generalize(ParticularReferenceValue) - Method in class proguard.evaluation.value.ParticularReferenceValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ReferenceValue.
+
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other UnknownReferenceValue.
+
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other TypedReferenceValue.
+
+
generalize(MultiTypedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other MultiTypedReferenceValue.
+
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other IdentifiedReferenceValue.
+
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ArrayReferenceValue.
+
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other + IdentifiedArrayReferenceValue.
+
+
generalize(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other + DetailedArrayReferenceValue.
+
+
generalize(TracedReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other TracedReferenceValue.
+
+
generalize(ParticularReferenceValue) - Method in class proguard.evaluation.value.ReferenceValue
+
+
Returns the generalization of this ReferenceValue and the given other ParticularReferenceValue.
+
+
generalize(Value) - Method in class proguard.evaluation.value.ReferenceValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
generalize(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
generalize(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
generalize(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
generalize(Value) - Method in class proguard.evaluation.value.TopValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(UnknownReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(IdentifiedReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(ArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(IdentifiedArrayReferenceValue) - Method in class proguard.evaluation.value.TracedReferenceValue
+
 
+
generalize(DetailedArrayReferenceValue) - Method in class proguard.evaluation.value.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(Value) - Method in class proguard.evaluation.value.TracingValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
generalize(TypedReferenceValue) - Method in class proguard.evaluation.value.TypedReferenceValue
+
 
+
generalize(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
generalize(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
generalize(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
generalize(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
generalize(ReferenceValue) - Method in class proguard.evaluation.value.UnknownReferenceValue
+
 
+
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.CompositeHeapTransferRelation
+
 
+
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.CompositeHeapTransferRelation
+
 
+
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
+
 
+
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(AbstractState, Precision, SignatureT) - Method in interface proguard.analysis.cpa.bam.BamCache
+
+
Gets the block abstraction identified by the provided keys from the cache.
+
+
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(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(AbstractState, Precision, SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
get(SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
get(Precision, SignatureT) - Method in class proguard.analysis.cpa.bam.BamCacheImpl
+
 
+
get(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
get(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
get(int) - Method in class proguard.io.ClassPath
+
 
+
get(K) - Method in class proguard.util.MultiValueMap
+
 
+
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, Clazz, boolean, boolean) - 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.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.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.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(Number) - Static method in class com.example.SampleClassWithObjects
+
 
+
getAnswer() - Static method in class com.example.SampleClassWithRangeComputation
+
 
+
getAnswer(int, int) - Static method in class com.example.SampleClassWithVariableComputation
+
 
+
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.
+
+
getArgumentReference(JvmTaintTreeHeapFollowerAbstractState, int, String, boolean, int) - Static method in class proguard.analysis.cpa.jvm.util.HeapUtil
+
+
Retrieves the argument reference from the principal state.
+
+
getArgumentTypes() - Method in class proguard.classfile.MethodDescriptor
+
 
+
getArray() - Method in exception proguard.evaluation.exception.ArrayStoreTypeException
+
 
+
getArrayElementOrDefault(T, SetAbstractState<JvmTaintSource>, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
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(SetAbstractState<Reference>, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Returns a join over all arrays aliased by the input SetAbstractState.
+
+
getArrayElementOrDefault(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
getArrayElementOrDefault(T, SetAbstractState<Reference>, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
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(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(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the class name of ClassConstant at the specified index.
+
+
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.
+
+
getClassName(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getClassName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getClassName() - Method in class proguard.classfile.Signature
+
 
+
getClassName() - Method in class proguard.dexfile.ir.expr.InvokeNewExpr
+
 
+
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.ClassModel
+
 
+
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
+
 
+
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) - 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() - Method in interface proguard.classfile.MethodInfo
+
+
Returns the method's descriptor.
+
+
getDescriptor() - Method in class proguard.classfile.MethodSignature
+
 
+
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
+
 
+
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.
+
+
getEntryPointsForType(EntryPoint.Type) - Static method in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
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.
+
+
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(SetAbstractState<Reference>, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Returns a join over all fields aliased by the input SetAbstractState.
+
+
getfield(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getfield(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getfield(int) - 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, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
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.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
getFieldOrDefault(T, String, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
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(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.
+
+
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.
+
+
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.
+
+
getHeapNode(Reference) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Returns the heap node for the given reference.
+
+
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
+
 
+
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(Clazz) - Method in class proguard.classfile.attribute.annotation.ElementValue
+
+
Returns the element name.
+
+
getMethodName() - Method in interface proguard.classfile.MethodInfo
+
+
Returns the method's name.
+
+
getMethodName() - Method in class proguard.classfile.MethodSignature
+
 
+
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.ReflectionExecutor
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
 
+
getMethodReturnValue(Clazz, InvokeDynamicConstant, String) - Method in class proguard.evaluation.BasicInvocationUnit
+
+
Returns the return value of the specified method.
+
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
 
+
getMethodReturnValue(Clazz, AnyMethodrefConstant, String) - Method in class proguard.evaluation.ReferenceTracingInvocationUnit
+
 
+
getMethodReturnValue(Clazz, InvokeDynamicConstant, 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.SimplifiedInvocationUnit
+
+
Returns the return value of the specified method.
+
+
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(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() - Method in interface proguard.classfile.Clazz
+
+
Returns the full internal name of this class.
+
+
getName(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the name of the NameAndTypeConstant at the specified index.
+
+
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() - 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(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getName(Clazz) - Method in class proguard.classfile.LibraryMember
+
 
+
getName(Clazz) - Method in interface proguard.classfile.Member
+
+
Returns the class member name.
+
+
getName() - Method in class proguard.classfile.ProgramClass
+
 
+
getName(int) - Method in class proguard.classfile.ProgramClass
+
 
+
getName(Clazz) - Method in class proguard.classfile.ProgramMember
+
 
+
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_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(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
+
 
+
getPackageName() - Method in class proguard.classfile.Signature
+
+
Deprecated.
+
+
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, 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.
+
+
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.
+
+
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.domain.reference.CompositeHeapJvmAbstractState
+
 
+
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(AbstractState) - Method in class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
getReached(AbstractState) - Method in class proguard.analysis.cpa.defaults.ProgramLocationDependentReachedSet
+
 
+
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 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
+
 
+
getReferenceAbstractState(JvmMemoryLocation) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
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(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 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_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.
+
+
getStateByIndex(int) - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
+
Returns the state at the specified position in the composite state.
+
+
getStateByName(String) - Method in interface proguard.analysis.cpa.interfaces.AbstractState
+
+
Returns an abstract state for a given if the state is composite, returns self otherwise.
+
+
getStateByName(String) - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
getstatic(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
getstatic(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getstatic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
getStaticCreationReferences() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
+
Get all the references to nodes that have been created in a JvmStaticFieldLocation.
+
+
getStaticFields() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the static field table abstract state.
+
+
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(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the String value of the Utf8Constant at the specified index.
+
+
getString(Clazz) - Method in class proguard.classfile.constant.StringConstant
+
+
Returns the string value.
+
+
getString() - Method in class proguard.classfile.constant.Utf8Constant
+
+
Returns the UTF-8 data as a String.
+
+
getString(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getString(int) - Method in class proguard.classfile.ProgramClass
+
 
+
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.
+
+
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
+
 
+
getSuccessorDepth() - Method in class proguard.analysis.datastructure.callgraph.Node
+
+
Calculate the distance between this node and its furthest successor.
+
+
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.
+
+
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.
+
+
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
+
 
+
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
+
 
+
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.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(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the tag value of the Constant at the specified index.
+
+
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 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(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(int) - Method in interface proguard.classfile.Clazz
+
+
Returns the type of the NameAndTypeConstant at the specified index.
+
+
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.
+
+
getType(int) - Method in class proguard.classfile.LibraryClass
+
 
+
getType(int) - Method in class proguard.classfile.ProgramClass
+
 
+
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.ArrayModel
+
 
+
getType() - Method in class proguard.evaluation.value.object.ClassModel
+
 
+
getType() - Method in interface proguard.evaluation.value.object.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
+
 
+
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.
+
+
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.ArrayModel
+
 
+
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.
+
+
getWrappedStates() - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
getWrappedTransferRelations() - Method in class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
 
+
getWrappedTransferRelations() - Method in interface proguard.analysis.cpa.interfaces.WrapperTransferRelation
+
+
Returns wrapped transfer relations.
+
+
getWrappedTransferRelations() - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapTransferRelation
+
 
+
getZipFilter() - Method in class proguard.io.ClassPathEntry
+
+
Returns the name filter that is applied to zip files in this entry, if any.
+
+
goto_(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
goto_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
goto_w(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
goto_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is greater than the given UnknownIntegerValue: 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(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.
+
+
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(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.
+
+
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(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.
+
+
+ + + +

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
+
 
+
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() - Method in class proguard.analysis.cpa.defaults.AbstractWrapperState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
hashCode() - Method in class proguard.analysis.cpa.defaults.MemoryLocation
+
 
+
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.HeapNode
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
hashCode() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
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.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.EntryPoint
+
 
+
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.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 - Variable in class proguard.classfile.Signature
+
 
+
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.ArrayModel
+
 
+
hashCode() - Method in class proguard.evaluation.value.object.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(short[], 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(float[], 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(Object[], 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.
+
+
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
+
 
+
heapMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
HeapModel - Enum in proguard.analysis.cpa.jvm.state.heap
+
+
An enumeration of supported heap models.
+
+
heapModel - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun.Builder
+
 
+
heapModel - Variable in class proguard.analysis.cpa.jvm.util.JvmBamCpaRun
+
 
+
HeapNode<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state.heap.tree
+
+
The heap node represents an object or an array in the heap.
+
+
HeapNode(MapAbstractState<String, StateT>) - Constructor for class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
+
Create a heap node form a map abstract state.
+
+
heapNodeMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
HeapUtil - Class in proguard.analysis.cpa.jvm.util
+
+
A class with utility methods for the JvmTreeHeapAbstractState.
+
+
HeapUtil() - Constructor for class proguard.analysis.cpa.jvm.util.HeapUtil
+
 
+
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
+
 
+
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
+
 
+
identifier - Variable in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
identifier - Variable in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
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
+
 
+
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
+
 
+
ifacmpeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifacmpeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifacmpne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifacmpne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifge(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifge(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifgt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifgt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpeq(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpeq(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpge(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpge(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpgt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpgt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmple(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmple(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmplt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmplt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ificmpne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ificmpne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifle(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifle(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
iflt(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
iflt(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifne(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifne(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifnonnull(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifnonnull(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ifnull(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ifnull(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
+
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
+
 
+
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_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(String) - Constructor for exception proguard.evaluation.exception.IncompleteClassHierarchyException
+
 
+
IncompleteClassHierarchyException - Exception in proguard.evaluation
+
+
Deprecated.
+
+
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(short[], int, short) - 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(float[], int, float) - 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(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.ArrayModel
+
 
+
init(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.ClassModel
+
 
+
init(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.Model
+
+
Execute a constructor call for the modeled class.
+
+
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(short[], int, int, short) - 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(float[], int, int, float) - 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(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(LineNumberInfo) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
+
Inserts the given line number at the appropriate position in the line number table.
+
+
insertLineNumber(int, 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_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_(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
instanceof_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
instanceof_(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
instanceof_(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
instanceof_(int) - 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 - 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.
+
+
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.
+
+
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, InstructionVisitor) - Method in class proguard.classfile.attribute.CodeAttribute
+
+
Applies the given instruction visitor to all instructions.
+
+
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.
+
+
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(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.
+
+
InstructionSequenceBuilder(ConstantPoolEditor) - Constructor for class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Creates a new InstructionSequenceBuilder.
+
+
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 - 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
+
 
+
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 - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated integer value.
+
+
IntegerValue() - Constructor for class proguard.evaluation.value.IntegerValue
+
 
+
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.
+
+
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, int) - 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.
+
+
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.
+
+
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.
+
+
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, 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.
+
+
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.
+
+
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, 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.
+
+
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.
+
+
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.
+
+
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(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Converts an external type into an internal type.
+
+
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.
+
+
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.
+
+
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.ArrayModel
+
 
+
invoke(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.ClassModel
+
 
+
invoke(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.Model
+
+
Execute an instance method on the modeled object.
+
+
INVOKE_CONSTRUCTOR - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_DIRECT - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_DYNAMIC - Static variable in class proguard.classfile.constant.Constant
+
 
+
INVOKE_INSTANCE - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_INTERFACE - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
INVOKE_STATIC - Static variable in class proguard.dexfile.reader.MethodHandle
+
 
+
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, String, String, Clazz[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokedynamic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokedynamic(int, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokedynamic(int, String, String, Clazz[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokedynamic(int) - 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(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(int, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokeinterface(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeinterface(int, int) - 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(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokespecial(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokespecial_interface(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
+
 
+
invokesStaticInterfaceMethod() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether the invoked method is a static interface method.
+
+
invokestatic(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokestatic(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.ArrayModel
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in class proguard.evaluation.value.object.ClassModel
+
 
+
invokeStatic(MethodExecutionInfo, ValueCalculator) - Method in interface proguard.evaluation.value.object.Model
+
+
Execute a static method for the modeled class.
+
+
invokestatic_interface(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokestatic_interface(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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.InstructionSequenceBuilder
+
 
+
invokevirtual(Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
invokevirtual(Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(int, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(String, String, String, Clazz, Method) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
invokevirtual(int) - 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.
+
+
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(int, int) - Method in class proguard.evaluation.LivenessAnalyzer
+
+
Returns whether the specified variable takes up two entries after the instruction at the given + offset.
+
+
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.
+
+
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.
+
+
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.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
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(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(String) - Static method in class proguard.classfile.util.ClassUtil
+
+
Returns whether the given method name refers to a class initializer or an instance initializer.
+
+
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.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.
+
+
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.
+
+
isInstanceMethod() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
 
+
isInstanceOf(StateT, String) - Method in class proguard.analysis.cpa.jvm.transfer.JvmTransferRelation
+
+
Returns an abstract state representing the result of the instanceof operation.
+
+
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).
+
+
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(AbstractState, AbstractState) - Method in class proguard.analysis.cpa.defaults.DelegateAbstractDomain
+
 
+
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 interface proguard.analysis.cpa.interfaces.AbstractDomain
+
+
Compares two abstract states.
+
+
isLessOrEqual(JvmMemoryLocationAbstractState<AbstractStateT>) - Method in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState
+
 
+
isLessOrEqual(CompositeHeapJvmAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
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(HeapNode<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
isLessOrEqual(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
isLessOrEqual(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
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() - Method in class proguard.classfile.instruction.VariableInstruction
+
+
Returns whether this instruction loads the value of a variable.
+
+
isLoad - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
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() - Method in class proguard.analysis.datastructure.callgraph.Call
+
+
Check if this call is static (no implicit Call.instance set) or not.
+
+
isStatic - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
isStatic() - Method in class proguard.evaluation.executor.MethodExecutionInfo
+
+
Return whether the method is static.
+
+
isStatic - Variable in class proguard.evaluation.SimplifiedInvocationUnit
+
 
+
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
+
 
+
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, int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether a block of instructions is ever used.
+
+
isTraced(int) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns whether the instruction at the given offset has ever been executed during the partial + evaluation.
+
+
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(DataEntryReader) - Constructor for class proguard.io.JarReader
+
+
Creates a new JarReader.
+
+
JarReader(boolean, DataEntryReader) - Constructor for class proguard.io.JarReader
+
+
Creates a new JarReader that optionally reads jmod files.
+
+
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(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(String[], DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter wth default manifest file name "META-INF/MANIFEST.MF".
+
+
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[], String, String, StringFunction, DataEntryWriter, DataEntryWriter) - Constructor for class proguard.io.JarWriter
+
+
Creates a new JarWriter.
+
+
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
+
 
+
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
+
 
+
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
+
 
+
join(AbstractState, AbstractState) - Method in class proguard.analysis.cpa.defaults.DelegateAbstractDomain
+
 
+
join(AbstractStateT) - Method in interface proguard.analysis.cpa.defaults.LatticeAbstractState
+
+
Computes a join over itself and the abstractState.
+
+
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 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(CompositeHeapJvmAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
join(JvmAbstractState<SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceAbstractState
+
 
+
join(JvmHeapAbstractState<SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmBasicTaintTreeHeapFollowerAbstractState
+
 
+
join(JvmAbstractState<SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
 
+
join(JvmHeapAbstractState<SetAbstractState<JvmTaintSource>>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
join(JvmAbstractState<ValueAbstractState>) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
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(HeapNode<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
join(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
join(JvmHeapAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
join(JvmHeapAbstractState<SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
join(JvmAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
 
+
join(JvmFrameAbstractState<StateT>) - Method in class proguard.analysis.cpa.jvm.state.JvmFrameAbstractState
+
 
+
join(String, String...) - Static method in class proguard.util.StringUtil
+
+
Joins the given strings using the provided separator.
+
+
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(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
jsr(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
jsr_w(CompactCodeAttributeComposer.Label) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
jsr_w(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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(CodeAttribute, int, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCaseCfaEdge
+
+
Create a disconnected JVM CFA assume case edge.
+
+
JvmAssumeCaseCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCaseCfaEdge
+
+
Create a 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(CodeAttribute, int, boolean) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCfaEdge
+
+
Create a disconnected JVM CFA assume branch edge.
+
+
JvmAssumeCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int, boolean) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeCfaEdge
+
+
Create a 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(CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeDefaultCfaEdge
+
+
Create a disconnected JVM CFA assume default edge.
+
+
JvmAssumeDefaultCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmAssumeDefaultCfaEdge
+
+
Create a 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.
+
+
JvmBasicTaintTreeHeapFollowerAbstractState - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This is a JvmTreeHeapFollowerAbstractState without object tainting.
+
+
JvmBasicTaintTreeHeapFollowerAbstractState(JvmReferenceAbstractState, SetAbstractState<JvmTaintSource>, MapAbstractState<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmBasicTaintTreeHeapFollowerAbstractState
+
+
Create a taint follower heap abstract state.
+
+
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(Call) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
+
Create a disconnected JVM CFA call edge.
+
+
JvmCallCfaEdge(JvmCfaNode, JvmCfaNode, Call) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmCallCfaEdge
+
+
Create a 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(MethodSignature, int, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCatchCfaNode
+
+
Create a JVM CFA catch node without edges.
+
+
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.
+
+
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(MethodSignature, int, Clazz) - Constructor for class proguard.analysis.cpa.jvm.cfa.nodes.JvmCfaNode
+
+
Create a JVM CFA node without edges.
+
+
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.
+
+
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
+
 
+
JvmCompositeHeapExpandOperator - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A wrapper class around multiple ExpandOperators applying them elementwise to CompositeHeapJvmAbstractStates.
+
+
JvmCompositeHeapExpandOperator(List<? extends ExpandOperator<JvmCfaNode, JvmCfaEdge, MethodSignature>>) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapExpandOperator
+
+
Create a composite expand operator from a list of expand operators.
+
+
JvmCompositeHeapReduceOperator - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A wrapper class around multiple ReduceOperators applying them elementwise to CompositeHeapJvmAbstractStates.
+
+
JvmCompositeHeapReduceOperator(List<? extends ReduceOperator<JvmCfaNode, JvmCfaEdge, MethodSignature>>) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapReduceOperator
+
+
Create a composite reduce operator from a list of reduce operators.
+
+
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(CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Create a disconnected JVM CFA instruction edge.
+
+
JvmInstructionCfaEdge(JvmCfaNode, JvmCfaNode, CodeAttribute, int) - Constructor for class proguard.analysis.cpa.jvm.cfa.edges.JvmInstructionCfaEdge
+
+
Create a 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<Call>, 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.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 is a MemoryLocation specific to 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>, 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>, 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>>, 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) - 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>) - 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>) - 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<Reference, HeapNode<SetAbstractState<Reference>>>, MapAbstractStateFactory<String, SetAbstractState<Reference>>, MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>) - 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(Set<? extends JvmTaintSource>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Create a taint CPA.
+
+
JvmTaintCpa(Set<? extends JvmTaintSource>, Map<MethodSignature, JvmTaintTransformer>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintCpa
+
+
Create a taint CPA.
+
+
JvmTaintCpa(Map<Signature, Set<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>) - 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>>, boolean) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
Create the operator specifying the taint sources.
+
+
JvmTaintExpandOperator(JvmCfa, Map<Signature, Set<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintExpandOperator
+
+
Create the operator specifying the taint sources.
+
+
JvmTaintHeapAbstractState - Interface in proguard.analysis.cpa.jvm.domain.taint
+
+
An interface for object tainting.
+
+
JvmTaintMemoryLocationBamCpaRun - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This run wraps the execution of BAM JvmMemoryLocationCpa.
+
+
JvmTaintMemoryLocationBamCpaRun(JvmTaintBamCpaRun, SetAbstractState<JvmTaintSource>, Collection<? extends JvmTaintSink>, AbortOperator) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintMemoryLocationBamCpaRun
+
+
Create a traced taint CPA run.
+
+
JvmTaintMemoryLocationBamCpaRun(JvmCfa, Set<? extends JvmTaintSource>, MethodSignature, int, HeapModel, SetAbstractState<JvmTaintSource>, Collection<? extends JvmTaintSink>, AbortOperator, AbortOperator, boolean, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<Reference>>>, MapAbstractStateFactory<String, SetAbstractState<Reference>>, MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>, Map<MethodSignature, JvmTaintTransformer>) - 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.
+
+
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, Predicate<Call>, boolean, boolean, Set<Integer>, Set<String>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintSource
+
+
Create a taint source.
+
+
JvmTaintSource(Signature, 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.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.
+
+
JvmTaintTreeHeapFollowerAbstractState - Class in proguard.analysis.cpa.jvm.domain.taint
+
+
This is a JvmTreeHeapFollowerAbstractState with the possibility of object tainting.
+
+
JvmTaintTreeHeapFollowerAbstractState(JvmReferenceAbstractState, SetAbstractState<JvmTaintSource>, MapAbstractState<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<JvmTaintSource>>>, MapAbstractStateFactory<String, SetAbstractState<JvmTaintSource>>) - Constructor for class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
+
Create a taint follower heap abstract state.
+
+
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.
+
+
JvmTreeHeapAbstractState<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state.heap.tree
+
+
The tree heap model represents the memory as a map from references to objects or arrays (HeapNodes) which may refer other heap nodes in their fields.
+
+
JvmTreeHeapAbstractState(MapAbstractState<Reference, HeapNode<StateT>>, MapAbstractStateFactory<Reference, HeapNode<StateT>>, MapAbstractStateFactory<String, StateT>, StateT) - Constructor for class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Create a tree heap abstract state from a given memory layout.
+
+
JvmTreeHeapFollowerAbstractState<StateT extends LatticeAbstractState<StateT>> - Class in proguard.analysis.cpa.jvm.state.heap.tree
+
+
This is a heap model for analyses that need to track the actual content of heap objects.
+
+
JvmTreeHeapFollowerAbstractState(JvmReferenceAbstractState, StateT, MapAbstractState<Reference, HeapNode<StateT>>, MapAbstractStateFactory<Reference, HeapNode<StateT>>, MapAbstractStateFactory<String, StateT>) - Constructor for class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
+
Create a follower heap abstract state.
+
+
JvmTreeHeapPrincipalAbstractState - Class in proguard.analysis.cpa.jvm.state.heap.tree
+
+
This is a self-sufficient heap model in the sense that it contains references necessary for + addressing.
+
+
JvmTreeHeapPrincipalAbstractState(MapAbstractStateFactory<Reference, HeapNode<SetAbstractState<Reference>>>, MapAbstractStateFactory<String, SetAbstractState<Reference>>) - Constructor for class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
+
Create an empty principal heap model.
+
+
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 - Static variable in class proguard.classfile.editor.InstructionSequenceReplacer
+
 
+
k - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
A kind of the metadata this annotation encodes.
+
+
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.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
keySet() - Method in class proguard.util.MultiValueMap
+
 
+
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
+
 
+
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, List<KotlinAnnotationArgument>) - Constructor for class proguard.classfile.kotlin.KotlinAnnotation
+
 
+
KotlinAnnotation(String) - 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, KotlinAnnotationArgumentVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinAnnotationArgumentFilter
+
 
+
KotlinAnnotationArgumentFilter(Predicate<KotlinAnnotationArgument>, 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(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinClassKindFilter
+
 
+
KotlinClassKindFilter(Predicate<KotlinClassKindMetadata>, 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(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinDeclarationContainerFilter
+
 
+
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
+
 
+
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 - 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
+
 
+
kotlinMetadata - Variable in class proguard.classfile.LibraryClass
+
 
+
kotlinMetadata - Variable in class proguard.classfile.ProgramClass
+
 
+
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(KotlinMetadataVisitor, KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMetadataFilter
+
 
+
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
+
 
+
KotlinMetadataInitializer - Class in proguard.classfile.util.kotlin
+
+
Initializes the kotlin metadata for a Kotlin class.
+
+
KotlinMetadataInitializer(WarningPrinter) - Constructor for class proguard.classfile.util.kotlin.KotlinMetadataInitializer
+
 
+
KotlinMetadataInitializer(BiConsumer<Clazz, String>) - 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(WarningPrinter) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
+
Deprecated. + +
+
+
KotlinMetadataWriter(WarningPrinter, ClassVisitor) - Constructor for class proguard.classfile.io.kotlin.KotlinMetadataWriter
+
+ +
+
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
+
 
+
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(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinMultiFilePartKindFilter
+
 
+
KotlinMultiFilePartKindFilter(Predicate<KotlinMultiFilePartKindMetadata>, 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, KotlinPropertyVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinPropertyFilter
+
 
+
KotlinPropertyFilter(Predicate<KotlinPropertyMetadata>, 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
+
 
+
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(KotlinMetadataVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinSyntheticClassKindFilter
+
 
+
KotlinSyntheticClassKindFilter(Predicate<KotlinSyntheticClassKindMetadata>, 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, KotlinTypeAliasVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeAliasFilter
+
 
+
KotlinTypeAliasFilter(Predicate<KotlinTypeAliasMetadata>, 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, KotlinTypeParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinTypeParameterFilter
+
 
+
KotlinTypeParameterFilter(Predicate<KotlinTypeParameterMetadata>, 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, KotlinValueParameterVisitor) - Constructor for class proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
+
 
+
KotlinValueParameterFilter(Predicate<KotlinValueParameterMetadata>, 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() - 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(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(int) - Constructor for class proguard.classfile.editor.CodeAttributeEditor.Label
+
+
Creates a new Label.
+
+
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() - 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 - 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
+
 
+
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
+
 
+
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
+
 
+
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
+
 
+
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(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads an integer constant with the given value.
+
+
ldc(float) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a float 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(Object) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads an (internal) primitive array constant with the given + value.
+
+
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(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(ResourceFile) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a string constant with the given resource file name.
+
+
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(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc instruction that loads a class constant for the given class.
+
+
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(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(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(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string constant with the given value.
+
+
ldc(String, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc instruction that loads a string 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(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(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(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(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.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(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.
+
+
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(double) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
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(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.
+
+
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.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.
+
+
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(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads an integer constant with the given value.
+
+
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(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a string 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(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(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(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(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(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends an ldc_w instruction that loads a class constant for the given class.
+
+
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(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(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(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, ConstantVisitor) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Appends an ldc_w instruction that loads a string 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(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(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(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(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.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(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_(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.
+
+
ldiv() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ldiv() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
 
+
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(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given UnknownIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThan(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given SpecificIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given ParticularIntegerValue: NEVER + , MAYBE, or ALWAYS.
+
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue is less than the given RangeIntegerValue: NEVER, + MAYBE, or ALWAYS.
+
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThan(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
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(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.
+
+
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(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(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(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
lessThanOrEqual(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
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(int) - Constructor for class proguard.classfile.attribute.preverification.LessZeroFrame
+
+
Creates a LessZeroFrame with the given tag.
+
+
LessZeroFrame(byte) - Constructor for class proguard.classfile.attribute.preverification.LessZeroFrame
+
+
Creates a LessZeroFrame with the given number of chopped variables.
+
+
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, KotlinMetadata) - 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
+
+
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(TriFunction<LimitedHashMap<K, V>, K, V, Optional<K>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMap
+
+
Create an empty limited hash map.
+
+
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.
+
+
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(TriFunction<LimitedHashMap<KeyT, AbstractSpaceT>, KeyT, AbstractSpaceT, Optional<KeyT>>) - Constructor for class proguard.analysis.cpa.defaults.LimitedHashMapAbstractState
+
+
Create an empty limited hash map abstract state.
+
+
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.
+
+
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(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, 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, 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) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Adds a source line number for the current position.
+
+
line(Instruction) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+ +
+
line - Variable in class proguard.dexfile.reader.node.DexDebugNode.DexDebugOpNode.LineNumber
+
 
+
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, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Loads the given variable onto the stack.
+
+
load(int, char) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Loads the given variable of primitive type onto the stack.
+
+
load(int, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Loads the given variable 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) - Method in class proguard.evaluation.Variables
+
+
Loads the Value from the variable with the given index.
+
+
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(String) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local(int, String) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local() - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
Local(int) - Constructor for class proguard.dexfile.ir.expr.Local
+
 
+
LOCAL_COMPARATOR - Static variable in class proguard.dexfile.ir.ts.RemoveConstantFromSSA
+
 
+
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
+
 
+
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_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(long) - Constructor for class proguard.classfile.kotlin.KotlinAnnotationArgument.LongValue
+
 
+
LongValue - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated long value.
+
+
LongValue() - Constructor for class proguard.evaluation.value.LongValue
+
 
+
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.
+
+
lookupswitch(CompactCodeAttributeComposer.Label, int[], CompactCodeAttributeComposer.Label[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
lookupswitch(int, int[], int[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
 
+
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(LabelStmt) - Method in class proguard.dexfile.ir.LabelAndLocalMapper
+
 
+
map(Local) - 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(Clazz, Method, CodeAttribute, int, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched argument for the given pattern argument.
+
+
matchedArgument(Clazz, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched argument for the given pattern argument.
+
+
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).
+
+
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(ProgramClass, int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer
+
+
Returns the matched or newly created constant index for the given pattern constant index.
+
+
matchedConstantIndex(int) - Method in class proguard.classfile.util.InstructionSequenceMatcher
+
+
Returns the index of the specified matched constant (wildcard or not).
+
+
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, int, int) - Method in class proguard.util.AndMatcher
+
 
+
matches(String) - Method in class proguard.util.CollectionMatcher
+
 
+
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) - Method in class proguard.util.StringMatcher
+
+
Checks whether the given string matches.
+
+
matches(String, int, int) - Method in class proguard.util.StringMatcher
+
+
Checks whether the given substring matches.
+
+
matches(String) - Method in class proguard.util.TransformedStringMatcher
+
 
+
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 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 MethodSignature.matchesIgnoreNullAndDollar(MethodSignature, + MethodSignature).
+
+
matchesIgnoreNullAndDollar(MethodSignature, MethodSignature) - Static method in class proguard.classfile.MethodSignature
+
+
Fuzzy check like .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
+
 
+
matchingEntrypoint - Variable in class proguard.analysis.datastructure.callgraph.Node
+
 
+
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() - 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 - Variable in class proguard.evaluation.value.TypedReferenceValue
+
 
+
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<Member>, MemberVisitor) - Constructor for class proguard.classfile.visitor.MemberCollectionFilter
+
+
Creates a new MemberCollectionFilter.
+
+
MemberCollectionFilter(Set<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(ClassVisitor) - Constructor for class proguard.classfile.visitor.MemberDescriptorReferencedClassVisitor
+
 
+
MemberDescriptorReferencedClassVisitor(boolean, 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(Function<Clazz, String>, MemberVisitor) - Constructor for class proguard.classfile.util.MemberRenamer
+
 
+
MemberRenamer(BiFunction<Clazz, Member, 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 - Interface in proguard.classfile.visitor
+
+
This interface specifies the methods for a visitor of ProgramMember instances and LibraryMember instances.
+
+
memberVisitor - Variable in class proguard.classfile.visitor.ReferencedMemberVisitor
+
 
+
MemoryLocation<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature,ValueT extends AbstractState,AbstractStateT extends AbstractState> - Class in proguard.analysis.cpa.defaults
+
+
A MemoryLocation points at a specific AbstractState in a compound AbstractStates for some CfaNode.
+
+
MemoryLocation() - Constructor for class proguard.analysis.cpa.defaults.MemoryLocation
+
 
+
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(String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
+
Joins the field value with the input value.
+
+
merge(SimpleLiveValue[], SimpleLiveValue[], Stmt, Stmt) - Method in class proguard.dexfile.ir.ts.an.SimpleLiveAnalyze
+
 
+
merge(T, T, Stmt, Stmt) - Method in interface proguard.dexfile.ir.ts.Cfg.FrameVisitor
+
 
+
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
+
 
+
mergeField(SetAbstractState<Reference>, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Merges the field value to the given one.
+
+
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 - Interface in proguard.classfile
+
+
Representation of a method in a class.
+
+
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 - Class in proguard.dexfile.reader
+
+
represent a method_id_item in dex file format
+
+
Method(String, String, String[], String) - Constructor for class proguard.dexfile.reader.Method
+
 
+
Method(String, String, Proto) - Constructor for class proguard.dexfile.reader.Method
+
 
+
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_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_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_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_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_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_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_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_LOAD2 - 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_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
+
 
+
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(AnyMethodrefConstant, 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.
+
+
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, Method) - Constructor for class proguard.dexfile.reader.MethodHandle
+
 
+
MethodHandle(int, Field, 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 - Variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
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(String, String, MethodDescriptor) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(String, String, String) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(Clazz, Method) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(Clazz) - Constructor for class proguard.classfile.MethodSignature
+
 
+
MethodSignature(String) - 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
+
 
+
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
+
+
This interface can be implemented for each class that needs to be modeled during an analysis.
+
+
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.
+
+
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(VerificationType[]) - Constructor for class proguard.classfile.attribute.preverification.MoreZeroFrame
+
+
Creates a MoreZeroFrame with the given additional variables.
+
+
MoreZeroFrame(int, 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
+
 
+
multianewarray(String, Clazz, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
multianewarray(int, int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
multianewarray(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
multianewarray(int) - 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(ClassPoolVisitor...) - Constructor for class proguard.classfile.visitor.MultiClassPoolVisitor
+
 
+
MultiClassPoolVisitor(ArrayList<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 - 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
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given DoubleValue.
+
+
multiply(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given SpecificDoubleValue.
+
+
multiply(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the product of this DoubleValue and the given ParticularDoubleValue.
+
+
multiply(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given FloatValue.
+
+
multiply(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given SpecificFloatValue.
+
+
multiply(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the product of this FloatValue and the given ParticularFloatValue.
+
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given IntegerValue.
+
+
multiply(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given UnknownIntegerValue.
+
+
multiply(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given SpecificIntegerValue.
+
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given ParticularIntegerValue.
+
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the product of this IntegerValue and the given RangeIntegerValue.
+
+
multiply(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given LongValue.
+
+
multiply(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given SpecificLongValue.
+
+
multiply(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the product of this LongValue and the given ParticularLongValue.
+
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
multiply(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
multiply(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
multiply(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
multiply(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
multiply(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
multiply(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
multiply(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
multiply(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
multiply(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
multiply(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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 - 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_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
+
 
+
needsAccessorMethod() - Method in class proguard.backport.LambdaExpression
+
+
Returns whether an accessor method is needed to access the invoked method from the lambda + class.
+
+
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_(Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(String, Clazz) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
new_(Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(String, Clazz) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
new_(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
NEW_INSTANCE - Static variable in class proguard.evaluation.value.InstructionOffsetValue
+
 
+
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
+
 
+
newArray(String, List<StateT>, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
newArray(String, List<SetAbstractState<Reference>>, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
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(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
newarray(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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(Clazz) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
+
Returns an ValueAbstractState state for a new object of the given Clazz.
+
+
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(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.
+
+
newObject(String, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmShallowHeapAbstractState
+
 
+
newObject(String, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
newObject(String, JvmCfaNode) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
newObject(String) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for a new object of the given className.
+
+
newObject(Clazz) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns an abstract state for a new object of the given Clazz.
+
+
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(String) - Static method in class proguard.dexfile.ir.expr.Exprs
+
 
+
nLocal(int, 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
+
 
+
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
+
 
+
note(String, String) - Method in class proguard.classfile.util.WarningLogger
+
 
+
note(String, 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.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(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given UnknownIntegerValue are different: NEVER + , MAYBE, or ALWAYS.
+
+
notEqual(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns whether this IntegerValue and the given SpecificIntegerValue 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.
+
+
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_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
+
 
+
onUse(Local) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
onUse(Local) - Method in interface proguard.dexfile.ir.ts.Cfg.OnUseCallBack
+
 
+
onUseLocal(T, Local) - Method in class proguard.dexfile.ir.ts.an.BaseAnalyze
+
 
+
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
+
 
+
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
+
 
+
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
+
 
+
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_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_DUP_X1 - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_DUP_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_LDC2_W - Static variable in class proguard.classfile.instruction.Instruction
+
 
+
OP_LDC_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
+
 
+
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 - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
OR - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given IntegerValue.
+
+
or(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given UnknownIntegerValue.
+
+
or(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given SpecificIntegerValue.
+
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given ParticularIntegerValue.
+
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical or of this IntegerValue and the given RangeIntegerValue.
+
+
or(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given LongValue.
+
+
or(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given SpecificLongValue.
+
+
or(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical or of this LongValue and the given ParticularLongValue.
+
+
or(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
or(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
or(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
or(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
or(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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.
+
+
otherDataEntryWriter - Variable in class proguard.io.DexDataEntryWriter
+
 
+
otherParents - Variable in class proguard.dexfile.ir.ts.an.SimpleLiveValue
+
 
+
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.
+
+
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.
+
+
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(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.
+
+
parse(String) - Method in class proguard.util.FileNameParser
+
 
+
parse(String) - Method in class proguard.util.ListFunctionParser
+
 
+
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(String) - Method in class proguard.util.ListParser
+
 
+
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(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.
+
+
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
+
 
+
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(int) - Method in class proguard.analysis.cpa.defaults.StackAbstractState
+
+
Returns the indexth element from the top of the stack.
+
+
peek() - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Returns the top element of the operand 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.
+
+
peek() - Method in class proguard.util.CircularIntBuffer
+
+
Get the head value.
+
+
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(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.
+
+
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.
+
+
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.
+
+
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 - 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>, int, int) - Static method in class proguard.util.CallGraphWalker
+
+
Interactively explore the incoming call graph (breadth-first) of a specific method.
+
+
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.
+
+
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
+
 
+
principal - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
principalHeapMapAbstractStateFactory - Variable in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintBamCpaRun.Builder
+
 
+
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, 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, 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.
+
+
print(String, String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
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(JvmMemoryLocation, ConstantInstruction, Clazz) - 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.
+
+
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.
+
+
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 - 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
+
 
+
processingFlags - Variable in class proguard.util.SimpleProcessable
+
 
+
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, String, int, Object) - 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.
+
+
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, 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.
+
+
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.
+
+
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, 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.
+
+
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.
+
+
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
+
+
This package contains classes to represent the various elements of class files.
+
+
proguard.classfile.attribute - package proguard.classfile.attribute
+
+
This package contains classes to represent the attributes inside class files.
+
+
proguard.classfile.attribute.annotation - package proguard.classfile.attribute.annotation
+
+
This package contains classes to represent the annotation attributes inside +class files.
+
+
proguard.classfile.attribute.annotation.target - package proguard.classfile.attribute.annotation.target
+
+
This package contains classes to represent the targets of type annotations.
+
+
proguard.classfile.attribute.annotation.target.visitor - package proguard.classfile.attribute.annotation.target.visitor
+
+
This package contains visitors for type annotation attributes and their components.
+
+
proguard.classfile.attribute.annotation.visitor - package proguard.classfile.attribute.annotation.visitor
+
+
This package contains visitors for annotation attributes and their components.
+
+
proguard.classfile.attribute.module - package proguard.classfile.attribute.module
+
+
This package contains classes to represent the module attributes inside class +files.
+
+
proguard.classfile.attribute.module.visitor - package proguard.classfile.attribute.module.visitor
+
+
This package contains visitors for module attributes and their components.
+
+
proguard.classfile.attribute.preverification - package proguard.classfile.attribute.preverification
+
+
This package contains classes to represent the stack map attributes inside class files.
+
+
proguard.classfile.attribute.preverification.visitor - package proguard.classfile.attribute.preverification.visitor
+
+
This package contains visitors for stack map attributes and their components.
+
+
proguard.classfile.attribute.visitor - package proguard.classfile.attribute.visitor
+
+
This package contains visitors for attributes and their components.
+
+
proguard.classfile.constant - package proguard.classfile.constant
+
+
This package contains classes to represent the constants of constant pools in +class files.
+
+
proguard.classfile.constant.visitor - package proguard.classfile.constant.visitor
+
+
This package contains visitors for class constants.
+
+
proguard.classfile.editor - package proguard.classfile.editor
+
+
This package contains visitors to edit byte code.
+
+
proguard.classfile.exception - package proguard.classfile.exception
+
 
+
proguard.classfile.instruction - package proguard.classfile.instruction
+
+
This package contains classes to represent Java bytecode instructions.
+
+
proguard.classfile.instruction.visitor - package proguard.classfile.instruction.visitor
+
+
This package contains visitors for instructions.
+
+
proguard.classfile.io - package proguard.classfile.io
+
+
This package contains classes for reading and writing class files.
+
+
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
+
+
This package contains utility classes for processing class files.
+
+
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
+
+
This package contains interfaces and classes for processing class files from +the proguard.classfile package using the visitor pattern.
+
+
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
+
+
This package contains classes to perform partial evaluation (also known as +abstract evaluation, symbolic execution).
+
+
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
+
+
This package contains classes that represent partial evaluation values.
+
+
proguard.evaluation.value.object - package proguard.evaluation.value.object
+
 
+
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
+
+
This package contains classes to read and write files, optionally wrapped in +jars, wars, ears, zips, directories,...
+
+
proguard.io.util - package proguard.io.util
+
 
+
proguard.preverify - package proguard.preverify
+
+
This package contains support to preverify class files.
+
+
proguard.resources.file - package proguard.resources.file
+
+
This package contains classes to represent plain resource files.
+
+
proguard.resources.file.io - package proguard.resources.file.io
+
+
This package contains classes for reading and writing resource files.
+
+
proguard.resources.file.util - package proguard.resources.file.util
+
+
This package contains utility classes for processing plain resource files.
+
+
proguard.resources.file.visitor - package proguard.resources.file.visitor
+
+
This package contains visitors for plain resource files.
+
+
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
+
+
This package contains utility classes for regular expression matching,...
+
+
proguard.util.kotlin.asserter - package proguard.util.kotlin.asserter
+
 
+
proguard.util.kotlin.asserter.constraint - package proguard.util.kotlin.asserter.constraint
+
 
+
PROGUARD_MAP - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
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.
+
+
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(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.
+
+
push(Value) - Method in class proguard.evaluation.Stack
+
+
Pushes the given Value onto the stack.
+
+
push(Value) - Method in class proguard.evaluation.TracedStack
+
 
+
push(int) - Method in class proguard.util.CircularIntBuffer
+
+
Push a value into the buffer overriding the oldest element when exceeding max size.
+
+
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(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
+
 
+
put(K, V) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
put(K, V) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
put(String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
put(K, V) - Method in class proguard.util.MultiValueMap
+
 
+
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(Map<? extends String, ? extends StateT>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
putAll(Set<K>, V) - Method in class proguard.util.MultiValueMap
+
 
+
putAll(Set<K>, Set<V>) - Method in class proguard.util.MultiValueMap
+
 
+
putAll(K, Set<V>) - Method in class proguard.util.MultiValueMap
+
 
+
putfield(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putfield(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putfield(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putIfAbsent(K, V) - Method in class proguard.analysis.cpa.defaults.LimitedHashMap
+
 
+
putstatic(Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(String, String, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
putstatic(Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(String, String, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(String, String, String, Clazz, Field) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
putstatic(int) - 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 - Interface in proguard.analysis.cpa.interfaces
+
+
The ReachedSet stores reached States discovered by the Algorithm.
+
+
reachedSet - Variable in class proguard.analysis.cpa.jvm.domain.memory.JvmMemoryLocationAbstractState.StackEntry
+
 
+
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(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(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(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(ClassPath, String, boolean, boolean, boolean, boolean, boolean, boolean, BiFunction<DataEntryReader, ClassVisitor, DataEntryReader>) - Static method in class proguard.io.util.IOUtil
+
 
+
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(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readByte() - Method in class proguard.io.RuntimeDataInput
+
 
+
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(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readInt() - Method in class proguard.io.RuntimeDataInput
+
 
+
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(byte[], int) - Static method in class proguard.classfile.instruction.Instruction
+
 
+
readShort() - Method in class proguard.io.RuntimeDataInput
+
 
+
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, KotlinMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
receiverTypeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
reconstructCallGraph(ClassPool, MethodSignature) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+ +
+
reconstructCallGraph(ClassPool, MethodSignature, int, int) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Calculate the incoming call graph for a method of interest, showing how it can be reached.
+
+
reconstructCallGraph(ClassPool, MethodSignature, Set<EntryPoint>) - Method in class proguard.analysis.datastructure.callgraph.CallGraph
+
+
Extension of CallGraph.reconstructCallGraph(ClassPool, MethodSignature) that also collects all + EntryPoints found along the way.
+
+
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(AbstractState, CfaNodeT, Call) - Method in class proguard.analysis.cpa.bam.NoOpReduceOperator
+
 
+
reduce(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.
+
+
reduce(AbstractState, JvmCfaNode, Call) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapReduceOperator
+
 
+
reduce(AbstractState, JvmCfaNode, Call) - Method in class proguard.analysis.cpa.jvm.operators.JvmDefaultReduceOperator
+
 
+
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 .
+
+
reduce(Set<Object>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
+
Removes all the nodes not present in the principal model.
+
+
reduce(Set<Object>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
+
Slices the principal heap tree starting from the specified roots.
+
+
reduceHeap - Variable in class proguard.analysis.cpa.defaults.BamCpaRun.Builder
+
 
+
reduceHeap - Variable in class proguard.analysis.cpa.defaults.BamCpaRun
+
 
+
reduceHeap(JvmHeapAbstractState<SetAbstractState<Reference>>, JvmFrameAbstractState<SetAbstractState<Reference>>, MapAbstractState<String, SetAbstractState<Reference>>) - Method in class proguard.analysis.cpa.jvm.domain.reference.JvmReferenceReduceOperator
+
+
Performs reduction of the JvmTreeHeapPrincipalAbstractState keeping just the portion of + the tree rooted at references in static fields and parameters.
+
+
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.
+
+
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 - Class in proguard.analysis.cpa.jvm.domain.reference
+
+
A reference points at an object or an array at the heap.
+
+
Reference(JvmCfaNode, JvmMemoryLocation) - Constructor for class proguard.analysis.cpa.jvm.domain.reference.Reference
+
+
Create a reference.
+
+
reference - Variable in class proguard.analysis.cpa.jvm.witness.JvmHeapLocation
+
 
+
Reference - Static variable in interface proguard.analysis.cpa.util.StateNames
+
 
+
REFERENCE_STATE_INDEX - Static variable in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
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(ClassVisitor) - Constructor for class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
ReferencedClassVisitor(boolean, ClassVisitor) - Constructor for class proguard.classfile.visitor.ReferencedClassVisitor
+
 
+
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(MemberVisitor) - Method in class proguard.classfile.attribute.annotation.EnumConstantElementValue
+
+
Applies the given visitor to the referenced field.
+
+
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.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(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(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.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(ClassVisitor) - Method in class proguard.classfile.kotlin.KotlinDeclarationContainerMetadata
+
 
+
referencedOwnerClassAccept(KotlinMetadataVisitor) - 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
+
 
+
referenceToObject - Variable in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
 
+
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 - Class in proguard.evaluation.value
+
+
Representation of a partially evaluated reference value.
+
+
ReferenceValue() - Constructor for class proguard.evaluation.value.ReferenceValue
+
 
+
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.
+
+
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.
+
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() - Constructor for class proguard.dexfile.ir.ts.Ir2JRegAssignTransformer.Reg
+
 
+
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
+
 
+
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.
+
+
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
+
+
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
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given DoubleValue.
+
+
remainder(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given SpecificDoubleValue.
+
+
remainder(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of this DoubleValue divided by the given ParticularDoubleValue.
+
+
remainder(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given FloatValue.
+
+
remainder(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given SpecificFloatValue.
+
+
remainder(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of this FloatValue divided by the given ParticularFloatValue.
+
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given IntegerValue.
+
+
remainder(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given UnknownIntegerValue.
+
+
remainder(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given SpecificIntegerValue.
+
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given ParticularIntegerValue.
+
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of this IntegerValue divided by the given RangeIntegerValue.
+
+
remainder(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given LongValue.
+
+
remainder(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given SpecificLongValue.
+
+
remainder(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of this LongValue divided by the given ParticularLongValue.
+
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainder(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainder(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainder(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainder(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainder(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainder(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainder(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
remainder(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
remainder(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
remainder(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given DoubleValue divided by this DoubleValue.
+
+
remainderOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given SpecificDoubleValue and this DoubleValue.
+
+
remainderOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the remainder of the given ParticularDoubleValue and this DoubleValue.
+
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given FloatValue divided by this FloatValue.
+
+
remainderOf(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given SpecificFloatValue and this FloatValue.
+
+
remainderOf(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the remainder of the given ParticularFloatValue and this FloatValue.
+
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given IntegerValue divided by this IntegerValue.
+
+
remainderOf(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given UnknownIntegerValue divided by this IntegerValue.
+
+
remainderOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given SpecificIntegerValue divided by this IntegerValue.
+
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given ParticularIntegerValue divided by this IntegerValue.
+
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the remainder of the given RangeIntegerValue divided by this IntegerValue.
+
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given LongValue divided by this LongValue.
+
+
remainderOf(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given SpecificLongValue divided by this LongValue.
+
+
remainderOf(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the remainder of the given ParticularLongValue divided by this LongValue.
+
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainderOf(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainderOf(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainderOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainderOf(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainderOf(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainderOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
remainderOf(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
remainderOf(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
remainderOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
remainderOf(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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(AbstractState) - Method in class proguard.analysis.cpa.defaults.AbstractWaitlist
+
 
+
remove(AbstractState) - Method in class proguard.analysis.cpa.defaults.DefaultReachedSet
+
 
+
remove(Object) - Method in class proguard.analysis.cpa.defaults.DifferentialMap
+
 
+
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(Object) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
remove(Stmt) - Method in class proguard.dexfile.ir.stmt.StmtList
+
 
+
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(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(short[], int, int) - Static method in class proguard.util.ArrayUtil
+
+
Removes the specified element from the given array.
+
+
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(float[], 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(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
+
 
+
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(Clazz) - Method in class proguard.classfile.ClassPool
+
+
Removes the given Clazz from the class pool.
+
+
removeClass(String) - Method in class proguard.classfile.ClassPool
+
+
Removes the Class with the specified name 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(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.
+
+
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)
+
+
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 with references to .
+
+
replaceReferences(Value, Value) - Method in class proguard.evaluation.Variables
+
+
Replaces all the references to with references to .
+
+
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(int) - Method in class proguard.classfile.editor.CodeAttributeEditor
+
+
Resets the accumulated code changes for a given anticipated maximum code length.
+
+
reset() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Starts a new code definition.
+
+
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() - 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(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.
+
+
reset() - Method in class proguard.util.WildcardManager
+
+
Resets the list of string matchers.
+
+
resetCounter(String) - Method in interface proguard.util.kotlin.asserter.Reporter
+
 
+
resetResult() - Method in class proguard.analysis.cpa.jvm.util.ConstantLookupVisitor
+
 
+
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(StringMatcher, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(List, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(String, ResourceFileVisitor, ResourceFileVisitor) - Constructor for class proguard.resources.file.visitor.ResourceFileNameFilter
+
 
+
ResourceFileNameFilter(List, ResourceFileVisitor, 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(ResourceFile...) - Constructor for class proguard.resources.file.ResourceFilePool
+
+
Creates a new ResourceFilePool with the given resource files.
+
+
ResourceFilePool(Iterable<? extends 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(ResourceFileVisitor) - Method in interface proguard.resources.file.FilePool
+
+
Applies the given ResourceFileVisitor to all instances in this pool.
+
+
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(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(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(ResourceFileVisitor) - Method in class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all instances in this pool.
+
+
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 class proguard.resources.file.ResourceFilePool
+
+
Applies the given ResourceFileVisitor to all resource files in this pool matching the given + file name filters.
+
+
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
+
 
+
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(int) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
ret(int) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
ret - Variable in class proguard.dexfile.ir.IrMethod
+
 
+
return_() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
return_(String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Appends the proper return statement for the given internal type.
+
+
return_() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
RETURN_EXIT_NODE_OFFSET - Static variable in interface proguard.analysis.cpa.interfaces.CfaNode
+
 
+
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
+
 
+
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.
+
+
run(ReachedSet, Waitlist) - Method in interface proguard.analysis.cpa.interfaces.Algorithm
+
+
Launches the algorithm updating the reachedSet and the waitlist.
+
+
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.
+
+
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(T...) - Constructor for class proguard.analysis.cpa.defaults.SetAbstractState
+
+
Create a set abstract state from its elements.
+
+
SetAbstractState(Collection<? extends T>) - Constructor for class proguard.analysis.cpa.defaults.SetAbstractState
+
+
Create a set abstract state from a collection.
+
+
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(SetAbstractState<Reference>, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Joins the array elements with the given one for all aliases.
+
+
setArrayElement(T, StateT, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
setArrayElement(T, SetAbstractState<Reference>, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
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
+
+
If true, Call.clearValues() will be called after CallVisitor.visitCall(Call).
+
+
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
+
+
See PartialEvaluator.Builder#setEvaluateAllCode(boolean).
+
+
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.
+
+
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, ValueAbstractState) - Method in class proguard.analysis.cpa.jvm.domain.value.JvmValueAbstractState
+
 
+
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(SetAbstractState<Reference>, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState
+
+
Replaces the field value with the given one.
+
+
setField(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
 
+
setField(T, String, SetAbstractState<Reference>) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapPrincipalAbstractState
+
 
+
setField(T, String, StateT) - Method in class proguard.analysis.cpa.jvm.state.JvmAbstractState
+
+
Sets the field descriptor of the object to value.
+
+
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.
+
+
setFollowerHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference, HeapNode<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 references to + objects in the follower heap model.
+
+
setFollowerHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference, HeapNode<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 references to + objects in the follower heap model.
+
+
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
+
+
See PartialEvaluator.Builder#stopAnalysisAfterNEvaluations(int).
+
+
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.
+
+
setObjectTaint(T, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintAbstractState
+
+
Adds transitively taints from value to all fields of object.
+
+
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
+
 
+
setPrincipalHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference, HeapNode<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 references to + objects in the principal heap model.
+
+
setPrincipalHeapMapAbstractStateFactory(MapAbstractStateFactory<Reference, HeapNode<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 references to + objects in the principal heap model.
+
+
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.
+
+
setPrincipalState(JvmReferenceAbstractState) - Method in class proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapFollowerAbstractState
+
+
Sets the principal abstract state containing references.
+
+
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(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.
+
+
setProducerValue(int, Value) - Method in class proguard.evaluation.TracedVariables
+
+
Sets the given producer Value for the specified variable, without disturbing it.
+
+
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.domain.reference.CompositeHeapJvmAbstractState
+
 
+
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.analysis.datastructure.callgraph.Call
+
 
+
setReturnValue(Value) - Method in class proguard.evaluation.MethodResult.Builder
+
+
Sets the value returned by the analyzed method.
+
+
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 CallVisitor.visitCall(Call).
+
+
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(Value) - Method in class proguard.analysis.cpa.jvm.domain.value.ValueAbstractState
+
+
Update the Value associated with this abstract state.
+
+
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.
+
+
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.
+
+
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(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given UnknownIntegerValue.
+
+
shiftLeft(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given SpecificIntegerValue.
+
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given ParticularIntegerValue.
+
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted left by the given RangeIntegerValue.
+
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given IntegerValue.
+
+
shiftLeft(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given SpecificLongValue.
+
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted left by the given ParticularIntegerValue.
+
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeft(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftLeft(SpecificLongValue) - 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
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given IntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given LongValue, shifted left by this IntegerValue.
+
+
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.
+
+
shiftLeftOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificLongValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularLongValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given RangeIntegerValue, shifted left by this IntegerValue.
+
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftLeftOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftLeftOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given IntegerValue.
+
+
shiftRight(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given UnknownIntegerValue.
+
+
shiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given SpecificIntegerValue.
+
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given ParticularIntegerValue.
+
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this IntegerValue, shifted right by the given RangeIntegerValue.
+
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given IntegerValue.
+
+
shiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given SpecificLongValue.
+
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this LongValue, shifted right by the given ParticularIntegerValue.
+
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
shiftRight(SpecificLongValue) - 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
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given IntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given LongValue, shifted right by this IntegerValue.
+
+
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.
+
+
shiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given SpecificLongValue, shifted right by this IntegerValue.
+
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given ParticularLongValue, shifted right by this IntegerValue.
+
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given RangeIntegerValue, shifted right by this IntegerValue.
+
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
shiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
shiftRightOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
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
+
 
+
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 - Static variable in class proguard.classfile.attribute.Attribute
+
 
+
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 - 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
+
 
+
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, DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter.
+
+
SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter with the given settings.
+
+
SignedJarWriter(KeyStore.PrivateKeyEntry, String[], String, int[], DataEntryWriter) - Constructor for class proguard.io.SignedJarWriter
+
+
Creates a new SignedJarWriter with the given settings.
+
+
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() - 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.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
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 - Variable in enum proguard.dexfile.reader.InstructionFormat
+
 
+
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 - Variable in class proguard.evaluation.Variables
+
 
+
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_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.
+
+
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
+
 
+
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, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
+
Applies the given verification type visitor to all stack.
+
+
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 .
+
+
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(FullFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
StackMapAttribute(int, 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(StackMapFrame[]) - Constructor for class proguard.classfile.attribute.preverification.StackMapTableAttribute
+
+
Creates a StackMapTableAttribute with the given stack map frames.
+
+
StackMapTableAttribute(int, 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_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 - Class in proguard.dexfile.ir.stmt
+
 
+
stmts - Variable in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
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, String) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
+
Stores the value on top of the stack in the variable with given index.
+
+
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, String) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
+
Stores the 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, 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 - Static variable in class proguard.classfile.constant.Constant
+
 
+
string - Variable in class proguard.io.DataEntryToken
+
 
+
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, ResourceFile) - 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.
+
+
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
+
 
+
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
+
 
+
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 - 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
+
 
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given DoubleValue.
+
+
subtract(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given SpecificDoubleValue.
+
+
subtract(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of this DoubleValue and the given ParticularDoubleValue.
+
+
subtract(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given FloatValue.
+
+
subtract(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given SpecificFloatValue.
+
+
subtract(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of this FloatValue and the given ParticularFloatValue.
+
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given IntegerValue.
+
+
subtract(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given UnknownIntegerValue.
+
+
subtract(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given SpecificIntegerValue.
+
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given ParticularIntegerValue.
+
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of this IntegerValue and the given RangeIntegerValue.
+
+
subtract(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given LongValue.
+
+
subtract(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given SpecificLongValue.
+
+
subtract(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of this LongValue and the given ParticularLongValue.
+
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtract(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtract(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtract(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtract(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtract(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtract(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtract(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
subtract(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
subtract(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
subtract(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given DoubleValue and this DoubleValue.
+
+
subtractFrom(SpecificDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given SpecificDoubleValue and this DoubleValue.
+
+
subtractFrom(ParticularDoubleValue) - Method in class proguard.evaluation.value.DoubleValue
+
+
Returns the difference of the given ParticularDoubleValue and this DoubleValue.
+
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given FloatValue and this FloatValue.
+
+
subtractFrom(SpecificFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given SpecificFloatValue and this FloatValue.
+
+
subtractFrom(ParticularFloatValue) - Method in class proguard.evaluation.value.FloatValue
+
+
Returns the difference of the given ParticularFloatValue and this FloatValue.
+
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given IntegerValue and this IntegerValue.
+
+
subtractFrom(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given UnknownIntegerValue and this IntegerValue.
+
+
subtractFrom(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given SpecificIntegerValue and this IntegerValue.
+
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given ParticularIntegerValue and this IntegerValue.
+
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the difference of the given RangeIntegerValue and this IntegerValue.
+
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given LongValue and this LongValue.
+
+
subtractFrom(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given SpecificLongValue and this LongValue.
+
+
subtractFrom(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the difference of the given ParticularLongValue and this LongValue.
+
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtractFrom(ParticularDoubleValue) - Method in class proguard.evaluation.value.ParticularDoubleValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtractFrom(ParticularFloatValue) - Method in class proguard.evaluation.value.ParticularFloatValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtractFrom(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtractFrom(SpecificDoubleValue) - Method in class proguard.evaluation.value.SpecificDoubleValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtractFrom(SpecificFloatValue) - Method in class proguard.evaluation.value.SpecificFloatValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtractFrom(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
subtractFrom(DoubleValue) - Method in class proguard.evaluation.value.UnknownDoubleValue
+
 
+
subtractFrom(FloatValue) - Method in class proguard.evaluation.value.UnknownFloatValue
+
 
+
subtractFrom(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
subtractFrom(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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.
+
+
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.
+
+
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.
+
+
supportsAnyMethodOf(Clazz) - Method in class proguard.evaluation.ExecutingInvocationUnit
+
+
Checks whether any method of the given class is supported by the executors.
+
+
supportsAnyMethodOf(String) - 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.
+
+
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
+
 
+
+ + + +

T

+
+
table - Variable in class proguard.classfile.attribute.annotation.target.LocalVariableTargetInfo
+
 
+
tableswitch(CompactCodeAttributeComposer.Label, int, int, CompactCodeAttributeComposer.Label[]) - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
tableswitch(int, int, int, int[]) - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
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
+
 
+
taintObject(T, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmBasicTaintTreeHeapFollowerAbstractState
+
 
+
taintObject(T, SetAbstractState<JvmTaintSource>) - Method in interface proguard.analysis.cpa.jvm.domain.taint.JvmTaintHeapAbstractState
+
+
Transitively applies the taint value to the object.
+
+
taintObject(T, SetAbstractState<JvmTaintSource>) - Method in class proguard.analysis.cpa.jvm.domain.taint.JvmTaintTreeHeapFollowerAbstractState
+
 
+
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 - 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.
+
+
targetInfo - Variable in class proguard.classfile.attribute.annotation.TypeAnnotation
+
 
+
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
+
 
+
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
+
 
+
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
+
 
+
toSignature() - Method in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
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.defaults.MemoryLocation
+
 
+
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.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.callgraph.EntryPoint
+
 
+
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.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(int) - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
toString() - Method in class proguard.classfile.instruction.BranchInstruction
+
 
+
toString(Clazz, int) - Method in class proguard.classfile.instruction.ConstantInstruction
+
 
+
toString() - 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.
+
+
toString(int) - Method in class proguard.classfile.instruction.Instruction
+
+
Returns a description of the instruction, at the given offset.
+
+
toString() - Method in class proguard.classfile.instruction.SimpleInstruction
+
 
+
toString(int) - Method in class proguard.classfile.instruction.SwitchInstruction
+
 
+
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.ArrayModel
+
 
+
toString() - Method in class proguard.evaluation.value.object.ClassModel
+
 
+
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
+
 
+
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(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.
+
+
trace(Value) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Attaches the current trace value to given value, if it is a reference value.
+
+
trace(ReferenceValue) - Method in class proguard.evaluation.ReferenceTracingValueFactory
+
+
Attaches the current trace value to given reference value.
+
+
traceBranchTargets - Variable in class proguard.evaluation.BasicBranchUnit
+
 
+
tracedInstructionFilter(InstructionVisitor) - Method in class proguard.evaluation.PartialEvaluator
+
+
Returns a filtering version of the given instruction visitor that only visits traced + instructions.
+
+
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.
+
+
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(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
+
 
+
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
+
 
+
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(StmtList) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(Stmt) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(Value) - Method in class proguard.dexfile.ir.StmtSearcher
+
 
+
travel(IrMethod) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(StmtList) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(Stmt) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(Value) - Method in class proguard.dexfile.ir.StmtTraveler
+
 
+
travel(Value, Cfg.OnUseCallBack) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travel(Stmt, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travel(StmtList, 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(Stmt, Cfg.TravelCallBack, boolean) - Static method in class proguard.dexfile.ir.ts.Cfg
+
 
+
travelMod(StmtList, 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.analysis.datastructure.callgraph.EntryPoint
+
 
+
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, KotlinDeclarationContainerMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
typeAccept(Clazz, KotlinMetadata, KotlinFunctionMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
typeAccept(Clazz, KotlinClassKindMetadata, KotlinConstructorMetadata, KotlinTypeVisitor) - Method in class proguard.classfile.kotlin.KotlinValueParameterMetadata
+
 
+
typeAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinPropertyMetadata, 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, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
typeParametersAccept(Clazz, KotlinMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
typeParametersAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinTypeParameterVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
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 - 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.
+
+
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(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given UnknownIntegerValue.
+
+
unsignedShiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.
+
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given ParticularIntegerValue.
+
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns this unsigned IntegerValue, shifted right by the given RangeIntegerValue.
+
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted left by the given IntegerValue.
+
+
unsignedShiftRight(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted right by the given SpecificLongValue.
+
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns this unsigned LongValue, shifted right by the given ParticularIntegerValue.
+
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRight(IntegerValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
unsignedShiftRight(SpecificLongValue) - 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
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned IntegerValue, shifted left by this IntegerValue.
+
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned LongValue, shifted right by this IntegerValue.
+
+
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.
+
+
unsignedShiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned SpecificIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned SpecificLongValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned ParticularIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned ParticularLongValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the given unsigned RangeIntegerValue, shifted right by this IntegerValue.
+
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(ParticularLongValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
unsignedShiftRightOf(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
unsignedShiftRightOf(LongValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
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
+
+
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
+
 
+
updateHeapDependence() - Method in class proguard.analysis.cpa.jvm.domain.reference.CompositeHeapJvmAbstractState
+
 
+
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
+
 
+
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 - Class in proguard.dexfile.ir.expr
+
+
Represent a local/constant/expression
+
+
Value(Value.VT, ET) - Constructor for class proguard.dexfile.ir.expr.Value
+
 
+
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.evaluation.value
+
+
This abstract class represents a partially evaluated value.
+
+
Value() - Constructor for class proguard.evaluation.value.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.BasicInvocationUnit
+
 
+
valueFactory - Variable in class proguard.evaluation.ConstantValueFactory
+
 
+
valuefactory - Variable in class proguard.evaluation.value.IdentifiedArrayReferenceValue
+
 
+
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.datastructure.callgraph.EntryPoint.Type
+
+
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() - 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() - Method in class proguard.analysis.cpa.jvm.state.heap.tree.HeapNode
+
 
+
values() - Static method in enum proguard.analysis.datastructure.callgraph.EntryPoint.Type
+
+
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 - Variable in class proguard.classfile.constant.PrimitiveArrayConstant
+
 
+
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 - Variable in class proguard.dexfile.reader.node.analysis.DvmFrame
+
 
+
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 - Variable in class proguard.evaluation.Stack
+
 
+
values - Variable in class proguard.evaluation.Variables
+
 
+
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, VerificationTypeVisitor) - Method in class proguard.classfile.attribute.preverification.FullFrame
+
+
Applies the given verification type visitor to all variables.
+
+
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.
+
+
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, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinClassKindMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinConstructorMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinFunctionMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinDeclarationContainerMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinPropertyMetadata
+
 
+
versionRequirementAccept(Clazz, KotlinMetadata, KotlinVersionRequirementVisitor) - Method in class proguard.classfile.kotlin.KotlinTypeAliasMetadata
+
 
+
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(String, Object) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
visit(int, String, String, String[]) - Method in class proguard.dexfile.reader.node.DexFileNode
+
 
+
visit(String, Object) - Method in class proguard.dexfile.reader.visitors.DexAnnotationVisitor
+
+
Visits a primitive value of the annotation.
+
+
visit(int, String, String, String[]) - Method in class proguard.dexfile.reader.visitors.DexFileVisitor
+
 
+
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(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedClassVisitor
+
 
+
visitAnnotation(Clazz, Member, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationToAnnotatedMemberVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.AnnotationTypeFilter
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, 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, Member, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in interface proguard.classfile.attribute.annotation.visitor.AnnotationVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Field, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, int, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Method, CodeAttribute, Annotation) - Method in class proguard.classfile.attribute.annotation.visitor.MultiAnnotationVisitor
+
 
+
visitAnnotation(Clazz, Annotation) - Method in class proguard.classfile.editor.AnnotationAdder
+
 
+
visitAnnotation(Clazz, Method, int, 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, Method, int, 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(String, String) - Method in class proguard.dexfile.reader.node.DexAnnotationNode
+
 
+
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, 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.visitors.DexClassVisitor
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.visitors.DexFieldVisitor
+
 
+
visitAnnotation(String, Visibility) - Method in class proguard.dexfile.reader.visitors.DexMethodVisitor
+
 
+
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.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.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.util.StringSharer
+
 
+
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 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 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.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.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.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.classfile.util.StringSharer
+
 
+
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.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.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.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.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
+
 
+
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
+
 
+
visitCall(Call) - Method in interface proguard.analysis.CallVisitor
+
+
Will be called for every newly discovered method call in the code.
+
+
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.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.StringSharer
+
 
+
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
+
 
+
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.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, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Member, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, Method, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitDeprecatedAttribute(Clazz, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Field, DeprecatedAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitDeprecatedAttribute(Clazz, Method, 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
+
 
+
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, Member, TypeAnnotation, EmptyTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitEmptyTargetInfo(Clazz, Field, TypeAnnotation, EmptyTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitEmptyTargetInfo(Clazz, Method, 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
+
 
+
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.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.StringSharer
+
 
+
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.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.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.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.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.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[], Method) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitMethodStmt(Op, int[], String, Proto, MethodHandle, Object...) - Method in class proguard.dexfile.reader.node.DexCodeNode
+
 
+
visitMethodStmt(Op, int[], Method, Proto) - 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[], String, Proto, MethodHandle, Object...) - Method in class proguard.dexfile.reader.visitors.DexCodeVisitor
+
+
+ OP_INVOKE_CUSTOM
+
+
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.StringSharer
+
 
+
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
+
 
+
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.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.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, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Member, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Field, RuntimeInvisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleAnnotationsAttribute(Clazz, Method, 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
+
 
+
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, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitRuntimeInvisibleTypeAnnotationsAttribute(Clazz, RuntimeInvisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllElementValueVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Member, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Field, RuntimeVisibleAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleAnnotationsAttribute(Clazz, Method, 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
+
 
+
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, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.annotation.visitor.AllAnnotationVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Member, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RecordComponentInfo, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Field, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.AttributeAdder
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, Method, CodeAttribute, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitRuntimeVisibleTypeAnnotationsAttribute(Clazz, RuntimeVisibleTypeAnnotationsAttribute) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
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, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Member, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, Method, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSignatureAttribute(Clazz, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Field, SignatureAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSignatureAttribute(Clazz, Method, 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, Member, SignatureAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
visitSignatureAttribute(Clazz, RecordComponentInfo, SignatureAttribute) - Method in class proguard.classfile.util.ClassReferenceInitializer
+
 
+
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
+
 
+
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.StringSharer
+
 
+
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
+
 
+
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, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.AttributeNameFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Member, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in interface proguard.classfile.attribute.visitor.AttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.DebugAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.MultiAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.NonEmptyAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, Method, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.RequiredAttributeFilter
+
 
+
visitSyntheticAttribute(Clazz, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Field, SyntheticAttribute) - Method in class proguard.classfile.attribute.visitor.SingleTimeAttributeVisitor
+
 
+
visitSyntheticAttribute(Clazz, Method, 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
+
 
+
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.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, Member, TypeAnnotation) - Method in interface proguard.classfile.attribute.annotation.visitor.TypeAnnotationVisitor
+
 
+
visitTypeAnnotation(Clazz, Field, 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, int, 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, TypeAnnotation) - Method in class proguard.classfile.editor.CodeAttributeComposer
+
 
+
visitTypeAnnotation(Clazz, Method, CodeAttribute, 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, 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, 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
+
 
+
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, Member, TypeAnnotation, TypeParameterBoundTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterBoundTargetInfo(Clazz, Field, 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
+
 
+
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
+
 
+
visitTypeParameterTargetInfo(Clazz, TypeAnnotation, TypeParameterTargetInfo) - Method in interface proguard.classfile.attribute.annotation.target.visitor.TargetInfoVisitor
+
 
+
visitTypeParameterTargetInfo(Clazz, Method, 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
+
 
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
+
Visits any TypePathInfo instance.
+
+
visitTypePathInfo(Clazz, Member, TypeAnnotation, TypePathInfo) - Method in interface proguard.classfile.attribute.annotation.visitor.TypePathInfoVisitor
+
 
+
visitTypePathInfo(Clazz, Field, 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
+
 
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in class proguard.classfile.io.ProgramClassReader
+
 
+
visitTypePathInfo(Clazz, TypeAnnotation, TypePathInfo) - Method in class proguard.classfile.visitor.ClassPrinter
+
 
+
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 - Static variable in class proguard.classfile.JavaTypeConstants
+
 
+
VOID - Static variable in class proguard.classfile.TypeConstants
+
 
+
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.
+
+
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.
+
+
WELL_KNOWN_ENTRYPOINT_CLASSES - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
WELL_KNOWN_ENTRYPOINTS - Static variable in class proguard.analysis.datastructure.callgraph.EntryPoint
+
 
+
WHEN_MAPPINGS_SUFFIX - Static variable in class proguard.classfile.kotlin.KotlinConstants
+
 
+
wide() - Method in class proguard.classfile.editor.CompactCodeAttributeComposer
+
 
+
wide() - Method in class proguard.classfile.editor.InstructionSequenceBuilder
+
 
+
wide - Variable in class proguard.classfile.instruction.VariableInstruction
+
 
+
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
+
 
+
wrappedExpandOperators - Variable in class proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapExpandOperator
+
 
+
wrappedTransferRelation - Variable in class proguard.analysis.cpa.defaults.SingleWrapperTransferRelation
+
 
+
WrapperTransferRelation - Interface in proguard.analysis.cpa.interfaces
+
+ +
+
write(byte[], int) - Method in class proguard.classfile.editor.CodeAttributeEditor.Label
+
 
+
write(byte[], int) - Method in class proguard.classfile.editor.InstructionSequenceReplacer.Label
+
 
+
write(CodeAttribute, int) - Method in class proguard.classfile.instruction.Instruction
+
+
Writes the Instruction at the given offset in the given code attribute.
+
+
write(byte[], int) - Method in class proguard.classfile.instruction.Instruction
+
+
Writes the Instruction at the given offset in the given code array.
+
+
write(char[], int, int) - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
write(String) - Method in class proguard.classfile.util.renderer.core.StringListWriter
+
 
+
write(int) - Method in class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
write(byte[], int, int) - Method in class proguard.io.JarWriter.MyMultiDigestOutputStream
+
 
+
write(byte[]) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(byte[], int, int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(int) - Method in class proguard.io.RuntimeDataOutput
+
 
+
write(int) - Method in class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
write(byte[]) - Method in class proguard.io.ZipOutput.LargeDataOutputStream
+
 
+
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 - Variable in class proguard.classfile.kotlin.KotlinMetadata
+
+
An extra int.
+
+
XML_FILE_EXPRESSION - Static variable in class proguard.dexfile.AndroidConstants
+
 
+
XOR - Static variable in class proguard.evaluation.value.CompositeIntegerValue
+
 
+
XOR - Static variable in class proguard.evaluation.value.CompositeLongValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given IntegerValue.
+
+
xor(UnknownIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given UnknownIntegerValue.
+
+
xor(SpecificIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given SpecificIntegerValue.
+
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given ParticularIntegerValue.
+
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.IntegerValue
+
+
Returns the logical xor of this IntegerValue and the given RangeIntegerValue.
+
+
xor(LongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given LongValue.
+
+
xor(SpecificLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given SpecificLongValue.
+
+
xor(ParticularLongValue) - Method in class proguard.evaluation.value.LongValue
+
+
Returns the logical xor of this LongValue and the given ParticularLongValue.
+
+
xor(IntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.ParticularIntegerValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
xor(ParticularLongValue) - Method in class proguard.evaluation.value.ParticularLongValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(ParticularIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.RangeIntegerValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(SpecificIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(RangeIntegerValue) - Method in class proguard.evaluation.value.SpecificIntegerValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
xor(SpecificLongValue) - Method in class proguard.evaluation.value.SpecificLongValue
+
 
+
xor(IntegerValue) - Method in class proguard.evaluation.value.UnknownIntegerValue
+
 
+
xor(LongValue) - Method in class proguard.evaluation.value.UnknownLongValue
+
 
+
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
+
 
+
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, int) - Constructor for class proguard.io.ZipOutput
+
+
Creates a new ZipOutput that aligns uncompressed entries.
+
+
ZipOutput(OutputStream, boolean, 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(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.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, 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, boolean, int, byte[], 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.
+
+
ZipWriter(StringMatcher, int, boolean, 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 _ 
+ +
+ + + + + + + +
+ + + + diff --git a/api/index.html b/api/index.html new file mode 100644 index 000000000..71184e8cc --- /dev/null +++ b/api/index.html @@ -0,0 +1,75 @@ + + + + + +ProGuardCORE + + + + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> + + + diff --git a/api/overview-frame.html b/api/overview-frame.html new file mode 100644 index 000000000..ddfa865e7 --- /dev/null +++ b/api/overview-frame.html @@ -0,0 +1,118 @@ + + + + + +Overview List (ProGuardCORE) + + + + + +
+

Packages

+ +
+

 

+ + diff --git a/api/overview-summary.html b/api/overview-summary.html new file mode 100644 index 000000000..1f624f892 --- /dev/null +++ b/api/overview-summary.html @@ -0,0 +1,589 @@ + + + + + +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 +
This package contains classes to represent the various elements of class files.
+
proguard.classfile.attribute +
This package contains classes to represent the attributes inside class files.
+
proguard.classfile.attribute.annotation +
This package contains classes to represent the annotation attributes inside +class files.
+
proguard.classfile.attribute.annotation.target +
This package contains classes to represent the targets of type annotations.
+
proguard.classfile.attribute.annotation.target.visitor +
This package contains visitors for type annotation attributes and their components.
+
proguard.classfile.attribute.annotation.visitor +
This package contains visitors for annotation attributes and their components.
+
proguard.classfile.attribute.module +
This package contains classes to represent the module attributes inside class +files.
+
proguard.classfile.attribute.module.visitor +
This package contains visitors for module attributes and their components.
+
proguard.classfile.attribute.preverification +
This package contains classes to represent the stack map attributes inside class files.
+
proguard.classfile.attribute.preverification.visitor +
This package contains visitors for stack map attributes and their components.
+
proguard.classfile.attribute.visitor +
This package contains visitors for attributes and their components.
+
proguard.classfile.constant +
This package contains classes to represent the constants of constant pools in +class files.
+
proguard.classfile.constant.visitor +
This package contains visitors for class constants.
+
proguard.classfile.editor +
This package contains visitors to edit byte code.
+
proguard.classfile.exception 
proguard.classfile.instruction +
This package contains classes to represent Java bytecode instructions.
+
proguard.classfile.instruction.visitor +
This package contains visitors for instructions.
+
proguard.classfile.io +
This package contains classes for reading and writing class files.
+
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 +
This package contains utility classes for processing class files.
+
proguard.classfile.util.kotlin 
proguard.classfile.util.renderer 
proguard.classfile.util.renderer.core 
proguard.classfile.visitor +
This package contains interfaces and classes for processing class files from +the proguard.classfile package using the visitor pattern.
+
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 +
This package contains classes to perform partial evaluation (also known as +abstract evaluation, symbolic execution).
+
proguard.evaluation.exception 
proguard.evaluation.executor 
proguard.evaluation.executor.instancehandler 
proguard.evaluation.util 
proguard.evaluation.util.jsonprinter 
proguard.evaluation.value +
This package contains classes that represent partial evaluation values.
+
proguard.evaluation.value.object 
proguard.examples 
proguard.examples.instrument 
proguard.examples.modify 
proguard.examples.util 
proguard.exception 
proguard.io +
This package contains classes to read and write files, optionally wrapped in +jars, wars, ears, zips, directories,...
+
proguard.io.util 
proguard.preverify +
This package contains support to preverify class files.
+
proguard.resources.file +
This package contains classes to represent plain resource files.
+
proguard.resources.file.io +
This package contains classes for reading and writing resource files.
+
proguard.resources.file.util +
This package contains utility classes for processing plain resource files.
+
proguard.resources.file.visitor +
This package contains visitors for plain resource files.
+
proguard.resources.kotlinmodule 
proguard.resources.kotlinmodule.io 
proguard.resources.kotlinmodule.util 
proguard.resources.kotlinmodule.visitor 
proguard.util +
This package contains utility classes for regular expression matching,...
+
proguard.util.kotlin.asserter 
proguard.util.kotlin.asserter.constraint 
+
+ +
+ + + + + + + +
+ + + + diff --git a/api/overview-tree.html b/api/overview-tree.html new file mode 100644 index 000000000..bdcfeddb9 --- /dev/null +++ b/api/overview-tree.html @@ -0,0 +1,2030 @@ + + + + + +Class Hierarchy (ProGuardCORE) + + + + + + + +
+ + + + + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +

Enum Hierarchy

+ +
+ +
+ + + + + + + +
+ + + + diff --git a/api/package-list b/api/package-list new file mode 100644 index 000000000..6e02339a0 --- /dev/null +++ b/api/package-list @@ -0,0 +1,99 @@ +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.examples +proguard.examples.instrument +proguard.examples.modify +proguard.examples.util +proguard.exception +proguard.io +proguard.io.util +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/proguard/analysis/CallResolver.Builder.html b/api/proguard/analysis/CallResolver.Builder.html new file mode 100644 index 000000000..0f4909d67 --- /dev/null +++ b/api/proguard/analysis/CallResolver.Builder.html @@ -0,0 +1,486 @@ + + + + + +CallResolver.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

Class CallResolver.Builder

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

      Method Detail

      + + + +
        +
      • +

        setClearCallValuesAfterVisit

        +
        public CallResolver.Builder setClearCallValuesAfterVisit(boolean clearCallValuesAfterVisit)
        +
        If true, Call.clearValues() will be called after CallVisitor.visitCall(Call). + 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.
        +
      • +
      + + + + + + + +
        +
      • +

        setEvaluateAllCode

        +
        public CallResolver.Builder setEvaluateAllCode(boolean evaluateAllCode)
        +
        See PartialEvaluator.Builder#setEvaluateAllCode(boolean).
        +
      • +
      + + + +
        +
      • +

        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.

        +
      • +
      + + + +
        +
      • +

        setMaxPartialEvaluations

        +
        public CallResolver.Builder setMaxPartialEvaluations(int maxPartialEvaluations)
        +
        See PartialEvaluator.Builder#stopAnalysisAfterNEvaluations(int).
        +
      • +
      + + + +
        +
      • +

        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..f317f8c6a --- /dev/null +++ b/api/proguard/analysis/CallResolver.html @@ -0,0 +1,572 @@ + + + + + +CallResolver (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

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 CallVisitors.

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

      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,
        +                    CallVisitor... visitors)
        +
        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 + CallVisitor.visitCall(Call). 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 CallVisitor.visitCall(Call).
        +
        visitors - CallVisitors 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/CallVisitor.html b/api/proguard/analysis/CallVisitor.html new file mode 100644 index 000000000..ef92886e7 --- /dev/null +++ b/api/proguard/analysis/CallVisitor.html @@ -0,0 +1,227 @@ + + + + + +CallVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

Interface CallVisitor

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

      Method Detail

      + + + +
        +
      • +

        visitCall

        +
        void visitCall(Call call)
        +
        Will be called for every newly discovered method call in the code.
        +
        +
        Parameters:
        +
        call - The Call that was found
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/DominatorCalculator.html b/api/proguard/analysis/DominatorCalculator.html new file mode 100644 index 000000000..99a2e5e4c --- /dev/null +++ b/api/proguard/analysis/DominatorCalculator.html @@ -0,0 +1,449 @@ + + + + + +DominatorCalculator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

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..77bff6102 --- /dev/null +++ b/api/proguard/analysis/Metrics.MetricType.html @@ -0,0 +1,487 @@ + + + + + +Metrics.MetricType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

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..00a75a3fd --- /dev/null +++ b/api/proguard/analysis/Metrics.html @@ -0,0 +1,342 @@ + + + + + +Metrics (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis
+

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 TypeClass and Description
      static class Metrics.MetricType +
      Constants which are used as metric types.
      +
      +
    • +
    + +
      +
    • + + +

      Field Summary

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Metrics() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      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..e2e32e23b --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/CpaAlgorithm.html @@ -0,0 +1,334 @@ + + + + + +CpaAlgorithm (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.algorithms
+

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-frame.html b/api/proguard/analysis/cpa/algorithms/package-frame.html new file mode 100644 index 000000000..36ca5d52d --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.analysis.cpa.algorithms (ProGuardCORE) + + + + +

proguard.analysis.cpa.algorithms

+
+

Classes

+ +
+ + 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..816ec8e5a --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/package-summary.html @@ -0,0 +1,143 @@ + + + + + +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..3589943a3 --- /dev/null +++ b/api/proguard/analysis/cpa/algorithms/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..11472348e --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCache.html @@ -0,0 +1,357 @@ + + + + + +BamCache (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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..db9f33010 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCacheImpl.html @@ -0,0 +1,434 @@ + + + + + +BamCacheImpl (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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 
      Constructor and Description
      BamCacheImpl() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5fdf0e43a --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamCpa.html @@ -0,0 +1,526 @@ + + + + + +BamCpa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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 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..d1c7af4c0 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamLocationDependent.html @@ -0,0 +1,247 @@ + + + + + +BamLocationDependent (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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..7194abce5 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BamTransferRelation.html @@ -0,0 +1,469 @@ + + + + + +BamTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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 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,
        +                           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..2f386649a --- /dev/null +++ b/api/proguard/analysis/cpa/bam/BlockAbstraction.html @@ -0,0 +1,301 @@ + + + + + +BlockAbstraction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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..12464620b --- /dev/null +++ b/api/proguard/analysis/cpa/bam/CpaWithBamOperators.html @@ -0,0 +1,397 @@ + + + + + +CpaWithBamOperators (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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..04b3fadb8 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/ExpandOperator.html @@ -0,0 +1,249 @@ + + + + + +ExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..1c4f8ffbb --- /dev/null +++ b/api/proguard/analysis/cpa/bam/NoOpRebuildOperator.html @@ -0,0 +1,290 @@ + + + + + +NoOpRebuildOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

Class NoOpRebuildOperator

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

      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..15abe51b8 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/NoOpReduceOperator.html @@ -0,0 +1,297 @@ + + + + + +NoOpReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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 
      Constructor and Description
      NoOpReduceOperator() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      AbstractStatereduce(AbstractState expandedInitialState, + CfaNodeT blockEntryNode, + Call call) +
      Creates the initial state of the called procedure discarding the useless information from the + state of the caller.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

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

      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..802c4be25 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/RebuildOperator.html @@ -0,0 +1,237 @@ + + + + + +RebuildOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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..c72831906 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/ReduceOperator.html @@ -0,0 +1,243 @@ + + + + + +ReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.bam
+

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

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

      Method Detail

      + + + + + +
        +
      • +

        reduce

        +
        AbstractState reduce(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
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/bam/package-frame.html b/api/proguard/analysis/cpa/bam/package-frame.html new file mode 100644 index 000000000..2cc38eea3 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/package-frame.html @@ -0,0 +1,33 @@ + + + + + +proguard.analysis.cpa.bam (ProGuardCORE) + + + + +

proguard.analysis.cpa.bam

+ + + 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..2f5a8b7ac --- /dev/null +++ b/api/proguard/analysis/cpa/bam/package-summary.html @@ -0,0 +1,230 @@ + + + + + +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 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..8a8575b44 --- /dev/null +++ b/api/proguard/analysis/cpa/bam/package-tree.html @@ -0,0 +1,152 @@ + + + + + +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..7c3e1a147 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractSingleWrapperState.html @@ -0,0 +1,394 @@ + + + + + +AbstractSingleWrapperState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..d08018c22 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractWaitlist.html @@ -0,0 +1,540 @@ + + + + + +AbstractWaitlist (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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

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

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      protected CollectionTwaitlist 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      protected AbstractWaitlist(CollectionT waitList) +
      Create a waitlist from a carrier collection.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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<AbstractState>
        +
        +
      • +
      + + + +
        +
      • +

        forEach

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

        spliterator

        +
        public java.util.Spliterator<AbstractState> spliterator()
        +
        +
        Specified by:
        +
        spliterator in interface java.lang.Iterable<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..028b35b8a --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/AbstractWrapperState.html @@ -0,0 +1,326 @@ + + + + + +AbstractWrapperState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..b62fa7762 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BamCpaRun.Builder.html @@ -0,0 +1,391 @@ + + + + + +BamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..0b31619d7 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BamCpaRun.html @@ -0,0 +1,540 @@ + + + + + +BamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..89681ab32 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/BreadthFirstWaitlist.html @@ -0,0 +1,305 @@ + + + + + +BreadthFirstWaitlist (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..4def8132d --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/Cfa.html @@ -0,0 +1,504 @@ + + + + + +Cfa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 TypeField and Description
      protected java.util.Map<SignatureT,java.util.Map<java.lang.Integer,CfaNodeT>>functionNodes 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Cfa() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5f8fbd3c4 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ControllableAbortOperator.html @@ -0,0 +1,320 @@ + + + + + +ControllableAbortOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 TypeField and Description
      booleanabort 
      +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..d7b329acb --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/CpaRun.html @@ -0,0 +1,408 @@ + + + + + +CpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..302682c02 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DefaultReachedSet.html @@ -0,0 +1,404 @@ + + + + + +DefaultReachedSet (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      DefaultReachedSet() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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.Set

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

        Methods inherited from interface java.util.Collection

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

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..c6ae550d9 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DelegateAbstractDomain.html @@ -0,0 +1,310 @@ + + + + + +DelegateAbstractDomain (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..0af3d24ff --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DepthFirstWaitlist.html @@ -0,0 +1,305 @@ + + + + + +DepthFirstWaitlist (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..b70a175db --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DifferentialMap.html @@ -0,0 +1,655 @@ + + + + + +DifferentialMap (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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,V>
      • +
      +
    • +
    + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..a119d5df2 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/DifferentialMapAbstractState.html @@ -0,0 +1,379 @@ + + + + + +DifferentialMapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..183d07acb --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/HashMapAbstractState.html @@ -0,0 +1,404 @@ + + + + + +HashMapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
      • +
      +
        +
      • + + +

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

        +java.util.Map.Entry<K,V>
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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

        +equals, 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..6d3ad9a1c --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/LatticeAbstractState.html @@ -0,0 +1,280 @@ + + + + + +LatticeAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

Interface LatticeAbstractState<AbstractStateT extends LatticeAbstractState<AbstractStateT>>

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

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,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
      • +
      +
        +
      • + + +

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

        +java.util.Map.Entry<K,V>
      • +
      +
    • +
    + + + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..fccbbccd6 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/LimitedHashMapAbstractState.html @@ -0,0 +1,443 @@ + + + + + +LimitedHashMapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.util.AbstractMap<K,V>
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/defaults/ListAbstractState.html b/api/proguard/analysis/cpa/defaults/ListAbstractState.html new file mode 100644 index 000000000..4909b1cdc --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ListAbstractState.html @@ -0,0 +1,474 @@ + + + + + +ListAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      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..7f739cb0e --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MapAbstractState.html @@ -0,0 +1,313 @@ + + + + + +MapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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

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

Class MemoryLocation<CfaNodeT extends CfaNode<CfaEdgeT,SignatureT>,CfaEdgeT extends CfaEdge<CfaNodeT>,SignatureT extends Signature,ValueT extends AbstractState,AbstractStateT extends AbstractState>

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

      Constructor Detail

      + + + +
        +
      • +

        MemoryLocation

        +
        public MemoryLocation()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

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

        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/defaults/MergeJoinOperator.html b/api/proguard/analysis/cpa/defaults/MergeJoinOperator.html new file mode 100644 index 000000000..4f13357da --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MergeJoinOperator.html @@ -0,0 +1,297 @@ + + + + + +MergeJoinOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..77766430f --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/MergeSepOperator.html @@ -0,0 +1,290 @@ + + + + + +MergeSepOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

Class MergeSepOperator

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      MergeSepOperator() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..76d6b5f7f --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/NeverAbortOperator.html @@ -0,0 +1,286 @@ + + + + + +NeverAbortOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 TypeMethod and Description
      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..4a871b40a --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/PrecisionAdjustmentResult.html @@ -0,0 +1,298 @@ + + + + + +PrecisionAdjustmentResult (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..cc2581603 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/ProgramLocationDependentReachedSet.html @@ -0,0 +1,406 @@ + + + + + +ProgramLocationDependentReachedSet (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 TypeMethod and Description
      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(AbstractState abstractState) +
      Returns a collection of abstract states mergeable with the abstractState.
      +
      java.util.Collection<? extends AbstractState>getReached(CfaNodeT location) +
      Returns a collection of abstract states belonging to the given location.
      +
      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..5783ab171 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.PreviousRunDurationReceiver.html @@ -0,0 +1,229 @@ + + + + + +SequentialCpaRun.PreviousRunDurationReceiver (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..e9eeef6a6 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SequentialCpaRun.html @@ -0,0 +1,421 @@ + + + + + +SequentialCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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

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

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 
      Constructor and Description
      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 TypeMethod and Description
      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, hashCode, notify, notifyAll, wait, wait, wait
      • +
      + + +
        +
      • + + +

        Methods inherited from interface java.util.Set

        +addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Collection

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

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      +
    • +
    +
  • +
+
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/defaults/SimpleCpa.html b/api/proguard/analysis/cpa/defaults/SimpleCpa.html new file mode 100644 index 000000000..846b69b46 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SimpleCpa.html @@ -0,0 +1,422 @@ + + + + + +SimpleCpa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..47af6a1df --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/SingleWrapperTransferRelation.html @@ -0,0 +1,349 @@ + + + + + +SingleWrapperTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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..b7a09861f --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StackAbstractState.html @@ -0,0 +1,462 @@ + + + + + +StackAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      StackAbstractState() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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

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

        Methods inherited from interface java.util.Collection

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

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..3dc7c7edb --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopAlwaysOperator.html @@ -0,0 +1,290 @@ + + + + + +StopAlwaysOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      StopAlwaysOperator() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..b5a641e30 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopContainedOperator.html @@ -0,0 +1,289 @@ + + + + + +StopContainedOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

Class StopContainedOperator

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..680256c1b --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopJoinOperator.html @@ -0,0 +1,297 @@ + + + + + +StopJoinOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..8d7992166 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopNeverOperator.html @@ -0,0 +1,290 @@ + + + + + +StopNeverOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      StopNeverOperator() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..46a6b7354 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/StopSepOperator.html @@ -0,0 +1,297 @@ + + + + + +StopSepOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.defaults
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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-frame.html b/api/proguard/analysis/cpa/defaults/package-frame.html new file mode 100644 index 000000000..748eb98ff --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/package-frame.html @@ -0,0 +1,59 @@ + + + + + +proguard.analysis.cpa.defaults (ProGuardCORE) + + + + +

proguard.analysis.cpa.defaults

+ + + 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..21dadbc95 --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/package-summary.html @@ -0,0 +1,388 @@ + + + + + +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..d158cde4d --- /dev/null +++ b/api/proguard/analysis/cpa/defaults/package-tree.html @@ -0,0 +1,241 @@ + + + + + +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..3bcdc2112 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/TaintSink.html @@ -0,0 +1,404 @@ + + + + + +TaintSink (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.domain.taint
+

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..de0f38925 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/TaintSource.html @@ -0,0 +1,419 @@ + + + + + +TaintSource (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.domain.taint
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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-frame.html b/api/proguard/analysis/cpa/domain/taint/package-frame.html new file mode 100644 index 000000000..8cf925ff5 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.analysis.cpa.domain.taint (ProGuardCORE) + + + + +

proguard.analysis.cpa.domain.taint

+
+

Classes

+ +
+ + 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..72d332231 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/package-summary.html @@ -0,0 +1,148 @@ + + + + + +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..320ed2c45 --- /dev/null +++ b/api/proguard/analysis/cpa/domain/taint/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..2d0d95240 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbortOperator.html @@ -0,0 +1,229 @@ + + + + + +AbortOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

Interface AbortOperator

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..5460da790 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbstractDomain.html @@ -0,0 +1,247 @@ + + + + + +AbstractDomain (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..1a0524d53 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/AbstractState.html @@ -0,0 +1,296 @@ + + + + + +AbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

Interface AbstractState

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

      Method Detail

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

        getStateByName

        +
        default AbstractState getStateByName(java.lang.String name)
        +
        Returns an abstract state for a given 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..c540ec488 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Algorithm.html @@ -0,0 +1,250 @@ + + + + + +Algorithm (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..5cefee040 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CallEdge.html @@ -0,0 +1,226 @@ + + + + + +CallEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..381a6deb2 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CfaEdge.html @@ -0,0 +1,242 @@ + + + + + +CfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..a399161f8 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/CfaNode.html @@ -0,0 +1,412 @@ + + + + + +CfaNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..3ee1fc8de --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ConfigurableProgramAnalysis.html @@ -0,0 +1,306 @@ + + + + + +ConfigurableProgramAnalysis (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..bf2d96b0a --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/MergeOperator.html @@ -0,0 +1,235 @@ + + + + + +MergeOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..d146a7143 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Precision.html @@ -0,0 +1,165 @@ + + + + + +Precision (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..101f06c06 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/PrecisionAdjustment.html @@ -0,0 +1,233 @@ + + + + + +PrecisionAdjustment (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..8e936a6c8 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependent.html @@ -0,0 +1,244 @@ + + + + + +ProgramLocationDependent (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..52070e32a --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentBackwardTransferRelation.html @@ -0,0 +1,236 @@ + + + + + +ProgramLocationDependentBackwardTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..93715c146 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentForwardTransferRelation.html @@ -0,0 +1,240 @@ + + + + + +ProgramLocationDependentForwardTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..aead17a97 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ProgramLocationDependentTransferRelation.html @@ -0,0 +1,291 @@ + + + + + +ProgramLocationDependentTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..0a518172a --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/ReachedSet.html @@ -0,0 +1,306 @@ + + + + + +ReachedSet (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

Interface ReachedSet

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

      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..212127f89 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/StopOperator.html @@ -0,0 +1,233 @@ + + + + + +StopOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..369ee8f04 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/TransferRelation.html @@ -0,0 +1,232 @@ + + + + + +TransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

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..7c0aee21c --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/Waitlist.html @@ -0,0 +1,366 @@ + + + + + +Waitlist (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

Interface Waitlist

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

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..c567ea73d --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/WrapperTransferRelation.html @@ -0,0 +1,238 @@ + + + + + +WrapperTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.interfaces
+

Interface WrapperTransferRelation

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

      Method Detail

      + + + +
        +
      • +

        getWrappedTransferRelations

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

proguard.analysis.cpa.interfaces

+ + + 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..31f9f74d9 --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/package-summary.html @@ -0,0 +1,262 @@ + + + + + +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..7b4d375fc --- /dev/null +++ b/api/proguard/analysis/cpa/interfaces/package-tree.html @@ -0,0 +1,159 @@ + + + + + +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..05133bf66 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/JvmCfa.html @@ -0,0 +1,515 @@ + + + + + +JvmCfa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa
+

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..08375051c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCaseCfaEdge.html @@ -0,0 +1,345 @@ + + + + + +JvmAssumeCaseCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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..666668c2a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeCfaEdge.html @@ -0,0 +1,346 @@ + + + + + +JvmAssumeCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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..8a1055e82 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeDefaultCfaEdge.html @@ -0,0 +1,302 @@ + + + + + +JvmAssumeDefaultCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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..54f3965a1 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmAssumeExceptionCfaEdge.html @@ -0,0 +1,348 @@ + + + + + +JvmAssumeExceptionCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..7c8216378 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCallCfaEdge.html @@ -0,0 +1,350 @@ + + + + + +JvmCallCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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..9c493cdfa --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmCfaEdge.html @@ -0,0 +1,382 @@ + + + + + +JvmCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

Class JvmCfaEdge

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

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..8e9c13ce7 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/JvmInstructionCfaEdge.html @@ -0,0 +1,349 @@ + + + + + +JvmInstructionCfaEdge (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.edges
+

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-frame.html b/api/proguard/analysis/cpa/jvm/cfa/edges/package-frame.html new file mode 100644 index 000000000..f7646f695 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.edges (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.cfa.edges

+ + + 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..8b7a788d5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/package-summary.html @@ -0,0 +1,180 @@ + + + + + +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..2682a5bdd --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/edges/package-tree.html @@ -0,0 +1,146 @@ + + + + + +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..f2abdeb5a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCatchCfaNode.html @@ -0,0 +1,383 @@ + + + + + +JvmCatchCfaNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.nodes
+

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..e3b55b6c9 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmCfaNode.html @@ -0,0 +1,639 @@ + + + + + +JvmCfaNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.nodes
+

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..fe957cd4d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/JvmUnknownCfaNode.html @@ -0,0 +1,339 @@ + + + + + +JvmUnknownCfaNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.nodes
+

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-frame.html b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-frame.html new file mode 100644 index 000000000..4c2ec88dd --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-frame.html @@ -0,0 +1,21 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.nodes (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.cfa.nodes

+ + + 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..e6565533e --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-summary.html @@ -0,0 +1,154 @@ + + + + + +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..0ceabf216 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/nodes/package-tree.html @@ -0,0 +1,139 @@ + + + + + +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-frame.html b/api/proguard/analysis/cpa/jvm/cfa/package-frame.html new file mode 100644 index 000000000..2f7392597 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.analysis.cpa.jvm.cfa (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.cfa

+
+

Classes

+ +
+ + 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..de6f8bc0a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/package-summary.html @@ -0,0 +1,141 @@ + + + + + +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..112b6f5b4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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..523d1795c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/JvmIntraproceduralCfaFillerAllInstructionVisitor.html @@ -0,0 +1,328 @@ + + + + + +JvmIntraproceduralCfaFillerAllInstructionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.cfa.visitors
+

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 JvmIntraproceduralCfaFillerVisitor. + +

    - sets the parameters for the current method for a 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-frame.html b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-frame.html new file mode 100644 index 000000000..21db6fa66 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.analysis.cpa.jvm.cfa.visitors (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.cfa.visitors

+ + + 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..fedc0ab5a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-summary.html @@ -0,0 +1,142 @@ + + + + + +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..d58052255 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/cfa/visitors/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..c80dd436c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/BamLocationDependentJvmMemoryLocation.html @@ -0,0 +1,443 @@ + + + + + +BamLocationDependentJvmMemoryLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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..0fa24e5c5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.StackEntry.html @@ -0,0 +1,360 @@ + + + + + +JvmMemoryLocationAbstractState.StackEntry (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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..5355d90b5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationAbstractState.html @@ -0,0 +1,741 @@ + + + + + +JvmMemoryLocationAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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..a2d731fb5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationBamCpaRun.html @@ -0,0 +1,473 @@ + + + + + +JvmMemoryLocationBamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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..b2b98bc4a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationCpa.html @@ -0,0 +1,259 @@ + + + + + +JvmMemoryLocationCpa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

Class JvmMemoryLocationCpa<AbstractStateT extends LatticeAbstractState<AbstractStateT>>

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..a38667018 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationMergeJoinOperator.html @@ -0,0 +1,298 @@ + + + + + +JvmMemoryLocationMergeJoinOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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 TypeMethod and Description
      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..d1f550879 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/JvmMemoryLocationTransferRelation.html @@ -0,0 +1,350 @@ + + + + + +JvmMemoryLocationTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

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 MemoryLocation. + +

    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 AbstractStateT is a proguard.analysis.cpa.domain.taint.TaintAbstractState we can set the threshold to proguard.analysis.cpa.domain.taint.TaintAbstractState#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.

    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + 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..98906246a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/TraceExtractor.html @@ -0,0 +1,287 @@ + + + + + +TraceExtractor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.memory
+

Interface TraceExtractor

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

proguard.analysis.cpa.jvm.domain.memory

+ + + 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..f4ee324b8 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/package-summary.html @@ -0,0 +1,197 @@ + + + + + +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..96ab7eb61 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/memory/package-tree.html @@ -0,0 +1,156 @@ + + + + + +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/CompositeHeapJvmAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/reference/CompositeHeapJvmAbstractState.html new file mode 100644 index 000000000..adf34a6fc --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/CompositeHeapJvmAbstractState.html @@ -0,0 +1,516 @@ + + + + + +CompositeHeapJvmAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

Class CompositeHeapJvmAbstractState

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

Class CompositeHeapTransferRelation

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.reference.CompositeHeapTransferRelation
    • +
    +
  • +
+ +
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapExpandOperator.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapExpandOperator.html new file mode 100644 index 000000000..26d37b193 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapExpandOperator.html @@ -0,0 +1,346 @@ + + + + + +JvmCompositeHeapExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

Class JvmCompositeHeapExpandOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapExpandOperator
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCompositeHeapExpandOperator

        +
        public JvmCompositeHeapExpandOperator(java.util.List<? extends ExpandOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>> wrappedExpandOperators)
        +
        Create a composite expand operator from a list of expand operators.
        +
        +
        Parameters:
        +
        wrappedExpandOperators - a list of expand operators with the order matching the structure + of the target JvmReferenceAbstractStates
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        expand

        +
        public CompositeHeapJvmAbstractState 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
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapReduceOperator.html b/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapReduceOperator.html new file mode 100644 index 000000000..a74b553fb --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmCompositeHeapReduceOperator.html @@ -0,0 +1,305 @@ + + + + + +JvmCompositeHeapReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

Class JvmCompositeHeapReduceOperator

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.domain.reference.JvmCompositeHeapReduceOperator
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        JvmCompositeHeapReduceOperator

        +
        public JvmCompositeHeapReduceOperator(java.util.List<? extends ReduceOperator<JvmCfaNode,JvmCfaEdge,MethodSignature>> wrappedReducedOperators)
        +
        Create a composite reduce operator from a list of reduce operators.
        +
        +
        Parameters:
        +
        wrappedReducedOperators - a list of reduce operators with the order matching the structure + of the target JvmReferenceAbstractStates
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        reduce

        +
        public CompositeHeapJvmAbstractState reduce(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:
        +
        reduce 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
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + 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..669901e50 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceAbstractState.html @@ -0,0 +1,444 @@ + + + + + +JvmReferenceAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

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..f70f43266 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceExpandOperator.html @@ -0,0 +1,325 @@ + + + + + +JvmReferenceExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

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..603bc04c4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceReduceOperator.html @@ -0,0 +1,348 @@ + + + + + +JvmReferenceReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

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..292826e74 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/JvmReferenceTransferRelation.html @@ -0,0 +1,439 @@ + + + + + +JvmReferenceTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

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..45485b9db --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/Reference.html @@ -0,0 +1,373 @@ + + + + + +Reference (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.reference
+

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 TypeField and Description
      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 TypeMethod and Description
      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-frame.html b/api/proguard/analysis/cpa/jvm/domain/reference/package-frame.html new file mode 100644 index 000000000..931537bb5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/package-frame.html @@ -0,0 +1,27 @@ + + + + + +proguard.analysis.cpa.jvm.domain.reference (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.domain.reference

+ + + 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..458abaa30 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/package-summary.html @@ -0,0 +1,194 @@ + + + + + +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..0a35e3c76 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/reference/package-tree.html @@ -0,0 +1,162 @@ + + + + + +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/JvmBasicTaintTreeHeapFollowerAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmBasicTaintTreeHeapFollowerAbstractState.html new file mode 100644 index 000000000..51bd19782 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmBasicTaintTreeHeapFollowerAbstractState.html @@ -0,0 +1,422 @@ + + + + + +JvmBasicTaintTreeHeapFollowerAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

Class JvmBasicTaintTreeHeapFollowerAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..0fe2f8b25 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.Builder.html @@ -0,0 +1,469 @@ + + + + + +JvmInvokeTaintSink.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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 - @param 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..b606314f4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmInvokeTaintSink.html @@ -0,0 +1,558 @@ + + + + + +JvmInvokeTaintSink (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..7810a9d89 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmReturnTaintSink.html @@ -0,0 +1,394 @@ + + + + + +JvmReturnTaintSink (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..499619755 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintAbstractState.html @@ -0,0 +1,384 @@ + + + + + +JvmTaintAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..815c2d5a2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.Builder.html @@ -0,0 +1,675 @@ + + + + + +JvmTaintBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..88cdacafd --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintBamCpaRun.html @@ -0,0 +1,499 @@ + + + + + +JvmTaintBamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..a28ec1e4d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintCpa.html @@ -0,0 +1,344 @@ + + + + + +JvmTaintCpa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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)
        +
        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..5e4295226 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintExpandOperator.html @@ -0,0 +1,415 @@ + + + + + +JvmTaintExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

Class JvmTaintExpandOperator

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

Interface JvmTaintHeapAbstractState

+
+
+
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..a6627400a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.Builder.html @@ -0,0 +1,543 @@ + + + + + +JvmTaintMemoryLocationBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..393cf492b --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintMemoryLocationBamCpaRun.html @@ -0,0 +1,511 @@ + + + + + +JvmTaintMemoryLocationBamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

Class JvmTaintMemoryLocationBamCpaRun

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..57b24e899 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintReduceOperator.html @@ -0,0 +1,303 @@ + + + + + +JvmTaintReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

Class JvmTaintReduceOperator

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..8a0b57af9 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSink.html @@ -0,0 +1,387 @@ + + + + + +JvmTaintSink (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..51befe755 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintSource.html @@ -0,0 +1,444 @@ + + + + + +JvmTaintSource (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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 
      Constructor and Description
      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.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.
      +
      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.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..57679fbe3 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.InstructionAbstractInterpreter.html @@ -0,0 +1,351 @@ + + + + + +JvmTaintTransferRelation.InstructionAbstractInterpreter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..248163282 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransferRelation.html @@ -0,0 +1,421 @@ + + + + + +JvmTaintTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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..4c29886ab --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTransformer.html @@ -0,0 +1,233 @@ + + + + + +JvmTaintTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

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/JvmTaintTreeHeapFollowerAbstractState.html b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTreeHeapFollowerAbstractState.html new file mode 100644 index 000000000..042eb22af --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/JvmTaintTreeHeapFollowerAbstractState.html @@ -0,0 +1,508 @@ + + + + + +JvmTaintTreeHeapFollowerAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.taint
+

Class JvmTaintTreeHeapFollowerAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/domain/taint/package-frame.html b/api/proguard/analysis/cpa/jvm/domain/taint/package-frame.html new file mode 100644 index 000000000..4b9bac05c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/package-frame.html @@ -0,0 +1,39 @@ + + + + + +proguard.analysis.cpa.jvm.domain.taint (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.domain.taint

+ + + 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..1f94d9e25 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/package-summary.html @@ -0,0 +1,262 @@ + + + + + +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..92345e5c7 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/taint/package-tree.html @@ -0,0 +1,226 @@ + + + + + +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..45c918fef --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmCfaReferenceValueFactory.html @@ -0,0 +1,396 @@ + + + + + +JvmCfaReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..a46b00f1b --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueAbstractState.html @@ -0,0 +1,539 @@ + + + + + +JvmValueAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..f731965a1 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.Builder.html @@ -0,0 +1,459 @@ + + + + + +JvmValueBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..d6e45dcef --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.TransferRelationFactory.html @@ -0,0 +1,224 @@ + + + + + +JvmValueBamCpaRun.TransferRelationFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..5026e36c4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueBamCpaRun.html @@ -0,0 +1,457 @@ + + + + + +JvmValueBamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..213c42ac5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueExpandOperator.html @@ -0,0 +1,317 @@ + + + + + +JvmValueExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..81f0bf2da --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueReduceOperator.html @@ -0,0 +1,342 @@ + + + + + +JvmValueReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..2b4d69cb2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/JvmValueTransferRelation.html @@ -0,0 +1,696 @@ + + + + + +JvmValueTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

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..97ba95439 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/ValueAbstractState.html @@ -0,0 +1,461 @@ + + + + + +ValueAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.domain.value
+

Class ValueAbstractState

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

proguard.analysis.cpa.jvm.domain.value

+ + + 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..f7ac210c6 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/package-summary.html @@ -0,0 +1,194 @@ + + + + + +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..9a0273689 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/domain/value/package-tree.html @@ -0,0 +1,193 @@ + + + + + +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..434a5fd87 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultExpandOperator.html @@ -0,0 +1,385 @@ + + + + + +JvmDefaultExpandOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.operators
+

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..4573b33d4 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/JvmDefaultReduceOperator.html @@ -0,0 +1,376 @@ + + + + + +JvmDefaultReduceOperator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.operators
+

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

      + + + +
        +
      • +

        reduce

        +
        public JvmAbstractState<StateT> reduce(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:
        +
        reduce 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-frame.html b/api/proguard/analysis/cpa/jvm/operators/package-frame.html new file mode 100644 index 000000000..aa3c7b217 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.analysis.cpa.jvm.operators (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.operators

+ + + 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..6bfe7a815 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/package-summary.html @@ -0,0 +1,147 @@ + + + + + +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..dbda5efeb --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/operators/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..60ba0af10 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmAbstractState.html @@ -0,0 +1,1019 @@ + + + + + +JvmAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state
+

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..094f57bc2 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmAbstractStateFactory.html @@ -0,0 +1,232 @@ + + + + + +JvmAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state
+

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..f599ea81f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/JvmFrameAbstractState.html @@ -0,0 +1,634 @@ + + + + + +JvmFrameAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state
+

Class JvmFrameAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.JvmFrameAbstractState<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..0777741cb --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/HeapModel.html @@ -0,0 +1,375 @@ + + + + + +HeapModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap
+

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 Constant and Description
      FORGETFUL +
      a singleton heap model
      +
      SHALLOW +
      A shallow heap models objects as atomic abstract states.
      +
      TAINT_TREE +
      a taint tree heap model allowing to taint whole objects
      +
      TREE +
      a heap model representing objects as reference graphs
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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
        +
      • +
      + + + +
        +
      • +

        TREE

        +
        public static final HeapModel TREE
        +
        a heap model representing objects as reference graphs
        +
      • +
      + + + +
        +
      • +

        SHALLOW

        +
        public static final HeapModel SHALLOW
        +
        A shallow heap models objects as atomic abstract states.
        +
      • +
      + + + +
        +
      • +

        TAINT_TREE

        +
        public static final HeapModel TAINT_TREE
        +
        a taint tree heap model allowing to taint whole objects
        +
      • +
      +
    • +
    + +
      +
    • + + +

      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..b8a53a48c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/JvmForgetfulHeapAbstractState.html @@ -0,0 +1,558 @@ + + + + + +JvmForgetfulHeapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap
+

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..a987c6d13 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/JvmHeapAbstractState.html @@ -0,0 +1,452 @@ + + + + + +JvmHeapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap
+

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-frame.html b/api/proguard/analysis/cpa/jvm/state/heap/package-frame.html new file mode 100644 index 000000000..dbafc1053 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/package-frame.html @@ -0,0 +1,27 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.state.heap

+
+

Interfaces

+ +

Classes

+ +

Enums

+ +
+ + 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..e3beac758 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/package-summary.html @@ -0,0 +1,176 @@ + + + + + +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..44bc1c98d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/package-tree.html @@ -0,0 +1,158 @@ + + + + + +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/HeapNode.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/HeapNode.html new file mode 100644 index 000000000..0b855f8e9 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/HeapNode.html @@ -0,0 +1,638 @@ + + + + + +HeapNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap.tree
+

Class HeapNode<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.heap.tree.HeapNode<StateT>
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.util.Map<java.lang.String,StateT>, LatticeAbstractState<HeapNode<StateT>>, AbstractState
    +
    +
    +
    +
    public class HeapNode<StateT extends LatticeAbstractState<StateT>>
    +extends java.lang.Object
    +implements java.util.Map<java.lang.String,StateT>, LatticeAbstractState<HeapNode<StateT>>
    +
    The heap node represents an object or an array in the heap. The arrays do not distinguish between + different indices and consider all their elements to be aliased.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Nested Class Summary

      +
        +
      • + + +

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

        +java.util.Map.Entry<K,V>
      • +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      HeapNode(MapAbstractState<java.lang.String,StateT> fieldToAbstractState) +
      Create a heap node form a map abstract state.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidclear() 
      booleancontainsKey(java.lang.Object key) 
      booleancontainsValue(java.lang.Object value) 
      HeapNode<StateT>copy() +
      Creates a copy of itself.
      +
      @NotNull java.util.Set<java.util.Map.Entry<java.lang.String,StateT>>entrySet() 
      booleanequals(java.lang.Object obj) 
      StateTget(java.lang.Object key) 
      inthashCode() 
      booleanisEmpty() 
      booleanisLessOrEqual(HeapNode<StateT> abstractState) +
      Compares itself to the abstractState.
      +
      HeapNode<StateT>join(HeapNode<StateT> abstractState) +
      Computes a join over itself and the abstractState.
      +
      @NotNull java.util.Set<java.lang.String>keySet() 
      voidmerge(java.lang.String descriptor, + StateT value) +
      Joins the field value with the input value.
      +
      StateTput(java.lang.String key, + StateT value) 
      voidputAll(@NotNull java.util.Map<? extends java.lang.String,? extends StateT> m) 
      StateTremove(java.lang.Object key) 
      intsize() 
      java.util.Collection<StateT>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
      • +
      + + +
    • +
    +
  • +
+
+
+ +
+
+ + + + + + + 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..cb464ff20 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmShallowHeapAbstractState.html @@ -0,0 +1,676 @@ + + + + + +JvmShallowHeapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap.tree
+

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/JvmTreeHeapAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapAbstractState.html new file mode 100644 index 000000000..2c4887b0d --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapAbstractState.html @@ -0,0 +1,615 @@ + + + + + +JvmTreeHeapAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap.tree
+

Class JvmTreeHeapAbstractState<StateT extends LatticeAbstractState<StateT>>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.state.heap.tree.JvmTreeHeapAbstractState<StateT>
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapFollowerAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapFollowerAbstractState.html new file mode 100644 index 000000000..9f0f5f170 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapFollowerAbstractState.html @@ -0,0 +1,587 @@ + + + + + +JvmTreeHeapFollowerAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap.tree
+

Class JvmTreeHeapFollowerAbstractState<StateT extends LatticeAbstractState<StateT>>

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

      Constructor Detail

      + + + + + +
        +
      • +

        JvmTreeHeapFollowerAbstractState

        +
        public JvmTreeHeapFollowerAbstractState(JvmReferenceAbstractState principal,
        +                                        StateT defaultValue,
        +                                        MapAbstractState<Reference,HeapNode<StateT>> referenceToNode,
        +                                        MapAbstractStateFactory<Reference,HeapNode<StateT>> heapMapAbstractStateFactory,
        +                                        MapAbstractStateFactory<java.lang.String,StateT> heapNodeMapAbstractStateFactory)
        +
        Create a follower heap abstract state.
        +
        +
        Parameters:
        +
        principal - the principal heap abstract state containing reference abstract states
        +
        defaultValue - the default value representing unknown values
        +
        referenceToNode - the mapping from references to heap nodes
        +
        heapMapAbstractStateFactory - a map abstract state factory used for constructing the + mapping from references to objects
        +
        heapNodeMapAbstractStateFactory - a map abstract state factory used for constructing the + mapping from fields to values
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + + + +
        +
      • +

        getFieldOrDefault

        +
        public <T> StateT getFieldOrDefault(T object,
        +                                    java.lang.String fqn,
        +                                    StateT defaultValue)
        +
        Description copied from interface: JvmHeapAbstractState
        +
        Returns a field fqn from a reference object. If there is no abstract state + representing the field, returns the defaultValue
        +
      • +
      + + + + + +
        +
      • +

        setField

        +
        public <T> void setField(T object,
        +                         java.lang.String fqn,
        +                         StateT value)
        +
        Description copied from interface: JvmHeapAbstractState
        +
        Sets a value to a field fqn of a referenced object.
        +
      • +
      + + + + + +
        +
      • +

        getArrayElementOrDefault

        +
        public <T> StateT getArrayElementOrDefault(T array,
        +                                           StateT index,
        +                                           StateT defaultValue)
        +
        Description copied from interface: JvmHeapAbstractState
        +
        Returns an array element at the specified index or the defaultValue, if + the element is unset.
        +
      • +
      + + + + + +
        +
      • +

        setArrayElement

        +
        public <T> void setArrayElement(T array,
        +                                StateT index,
        +                                StateT value)
        +
        Description copied from interface: JvmHeapAbstractState
        +
        Sets the array element value at the specified index.
        +
      • +
      + + + +
        +
      • +

        newObject

        +
        public StateT newObject(java.lang.String className,
        +                        JvmCfaNode creationCite)
        +
        Description copied from interface: JvmHeapAbstractState
        +
        Creates a new object of a given class at a specific program point and returns a reference to + it.
        +
      • +
      + + + +
        +
      • +

        newArray

        +
        public StateT newArray(java.lang.String type,
        +                       java.util.List<StateT> dimensions,
        +                       JvmCfaNode creationCite)
        +
        Description copied from interface: 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.
        +
      • +
      + + + +
        +
      • +

        reduce

        +
        public void reduce(java.util.Set<java.lang.Object> references)
        +
        Removes all the nodes not present in the principal model.
        +
        +
        Parameters:
        +
        references - unused
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        setPrincipalState

        +
        public void setPrincipalState(JvmReferenceAbstractState principal)
        +
        Sets the principal abstract state containing references.
        +
      • +
      + + + + +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapPrincipalAbstractState.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapPrincipalAbstractState.html new file mode 100644 index 000000000..595beb75c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/JvmTreeHeapPrincipalAbstractState.html @@ -0,0 +1,534 @@ + + + + + +JvmTreeHeapPrincipalAbstractState (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.state.heap.tree
+

Class JvmTreeHeapPrincipalAbstractState

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/state/heap/tree/package-frame.html b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-frame.html new file mode 100644 index 000000000..9a9a0a415 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-frame.html @@ -0,0 +1,23 @@ + + + + + +proguard.analysis.cpa.jvm.state.heap.tree (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.state.heap.tree

+ + + 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..2091fff77 --- /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

+
+
+ +
+ + + + + + 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..21cc569c5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/heap/tree/package-tree.html @@ -0,0 +1,141 @@ + + + + + +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-frame.html b/api/proguard/analysis/cpa/jvm/state/package-frame.html new file mode 100644 index 000000000..56d65ae65 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/package-frame.html @@ -0,0 +1,24 @@ + + + + + +proguard.analysis.cpa.jvm.state (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.state

+ + + 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..3e33f2f39 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/package-summary.html @@ -0,0 +1,166 @@ + + + + + +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..d93c76c1a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/state/package-tree.html @@ -0,0 +1,139 @@ + + + + + +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..a4d3d6a61 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.InstructionAbstractInterpreter.html @@ -0,0 +1,457 @@ + + + + + +JvmTransferRelation.InstructionAbstractInterpreter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.transfer
+

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..2b4952afc --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/JvmTransferRelation.html @@ -0,0 +1,659 @@ + + + + + +JvmTransferRelation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.transfer
+

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-frame.html b/api/proguard/analysis/cpa/jvm/transfer/package-frame.html new file mode 100644 index 000000000..dbddc0853 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.analysis.cpa.jvm.transfer (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.transfer

+
+

Classes

+ +
+ + 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..24548e637 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/package-summary.html @@ -0,0 +1,142 @@ + + + + + +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..95a77b84c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/transfer/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..11cd6d570 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/CfaUtil.html @@ -0,0 +1,521 @@ + + + + + +CfaUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

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..6c1c6cc8e --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/ConstantLookupVisitor.html @@ -0,0 +1,395 @@ + + + + + +ConstantLookupVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

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/HeapUtil.html b/api/proguard/analysis/cpa/jvm/util/HeapUtil.html new file mode 100644 index 000000000..c5ef083a0 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/HeapUtil.html @@ -0,0 +1,280 @@ + + + + + +HeapUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

Class HeapUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.cpa.jvm.util.HeapUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class HeapUtil
    +extends java.lang.Object
    +
    A class with utility methods for the JvmTreeHeapAbstractState.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        HeapUtil

        +
        public HeapUtil()
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + + + + + + 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..fd57245ee --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/InstructionClassifier.html @@ -0,0 +1,311 @@ + + + + + +InstructionClassifier (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

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 TypeMethod and Description
      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..ad865ae53 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.Builder.html @@ -0,0 +1,441 @@ + + + + + +JvmBamCpaRun.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

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..aa588dc42 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/JvmBamCpaRun.html @@ -0,0 +1,478 @@ + + + + + +JvmBamCpaRun (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.util
+

Class JvmBamCpaRun<CpaT extends ConfigurableProgramAnalysis,AbstractStateT extends LatticeAbstractState<AbstractStateT>,OuterAbstractStateT extends AbstractState>

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/util/package-frame.html b/api/proguard/analysis/cpa/jvm/util/package-frame.html new file mode 100644 index 000000000..15ecec464 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/package-frame.html @@ -0,0 +1,24 @@ + + + + + +proguard.analysis.cpa.jvm.util (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.util

+ + + 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..6423a3235 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/package-summary.html @@ -0,0 +1,172 @@ + + + + + +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..75dfad4a7 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/util/package-tree.html @@ -0,0 +1,151 @@ + + + + + +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..dfc04b760 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmHeapLocation.html @@ -0,0 +1,403 @@ + + + + + +JvmHeapLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.witness
+

Class JvmHeapLocation

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..0223b118f --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmLocalVariableLocation.html @@ -0,0 +1,388 @@ + + + + + +JvmLocalVariableLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.witness
+

Class JvmLocalVariableLocation

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..1cac4bf8c --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmMemoryLocation.html @@ -0,0 +1,251 @@ + + + + + +JvmMemoryLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.witness
+

Class JvmMemoryLocation

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

      Constructor Detail

      + + + +
        +
      • +

        JvmMemoryLocation

        +
        public JvmMemoryLocation()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + 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..38a0961fe --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmStackLocation.html @@ -0,0 +1,405 @@ + + + + + +JvmStackLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.witness
+

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.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + 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..765bfeed5 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/JvmStaticFieldLocation.html @@ -0,0 +1,388 @@ + + + + + +JvmStaticFieldLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.jvm.witness
+

Class JvmStaticFieldLocation

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/jvm/witness/package-frame.html b/api/proguard/analysis/cpa/jvm/witness/package-frame.html new file mode 100644 index 000000000..943c855d8 --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/package-frame.html @@ -0,0 +1,23 @@ + + + + + +proguard.analysis.cpa.jvm.witness (ProGuardCORE) + + + + +

proguard.analysis.cpa.jvm.witness

+ + + 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..8c2c52c4a --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/package-summary.html @@ -0,0 +1,165 @@ + + + + + +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..eda421eec --- /dev/null +++ b/api/proguard/analysis/cpa/jvm/witness/package-tree.html @@ -0,0 +1,145 @@ + + + + + +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..4bbcf7e10 --- /dev/null +++ b/api/proguard/analysis/cpa/state/DifferentialMapAbstractStateFactory.html @@ -0,0 +1,289 @@ + + + + + +DifferentialMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.state
+

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..e60f03139 --- /dev/null +++ b/api/proguard/analysis/cpa/state/HashMapAbstractStateFactory.html @@ -0,0 +1,261 @@ + + + + + +HashMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.state
+

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..24c66dbc2 --- /dev/null +++ b/api/proguard/analysis/cpa/state/LimitedHashMapAbstractStateFactory.html @@ -0,0 +1,282 @@ + + + + + +LimitedHashMapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.state
+

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..e9a2fd87a --- /dev/null +++ b/api/proguard/analysis/cpa/state/MapAbstractStateFactory.html @@ -0,0 +1,226 @@ + + + + + +MapAbstractStateFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.state
+

Interface MapAbstractStateFactory<KeyT,StateT extends LatticeAbstractState<StateT>>

+
+
+
+ +
+
+ +
+
+
    +
  • + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/state/package-frame.html b/api/proguard/analysis/cpa/state/package-frame.html new file mode 100644 index 000000000..506049562 --- /dev/null +++ b/api/proguard/analysis/cpa/state/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.analysis.cpa.state (ProGuardCORE) + + + + +

proguard.analysis.cpa.state

+ + + 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..3657a8cdc --- /dev/null +++ b/api/proguard/analysis/cpa/state/package-summary.html @@ -0,0 +1,170 @@ + + + + + +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..f41e5ad2f --- /dev/null +++ b/api/proguard/analysis/cpa/state/package-tree.html @@ -0,0 +1,140 @@ + + + + + +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..231660681 --- /dev/null +++ b/api/proguard/analysis/cpa/util/StateNames.html @@ -0,0 +1,234 @@ + + + + + +StateNames (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.util
+

Interface StateNames

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

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      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..1037b1ddf --- /dev/null +++ b/api/proguard/analysis/cpa/util/TriFunction.html @@ -0,0 +1,233 @@ + + + + + +TriFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.util
+

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..8b73cb5b4 --- /dev/null +++ b/api/proguard/analysis/cpa/util/TriPredicate.html @@ -0,0 +1,281 @@ + + + + + +TriPredicate (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.cpa.util
+

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.
        +
      • +
      + + + + + + + +
        +
      • +

        negate

        +
        default TriPredicate<T,U,V> negate()
        +
        Returns a negation of this
        +
      • +
      + + + + +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/analysis/cpa/util/package-frame.html b/api/proguard/analysis/cpa/util/package-frame.html new file mode 100644 index 000000000..6fc10629d --- /dev/null +++ b/api/proguard/analysis/cpa/util/package-frame.html @@ -0,0 +1,21 @@ + + + + + +proguard.analysis.cpa.util (ProGuardCORE) + + + + +

proguard.analysis.cpa.util

+
+

Interfaces

+ +
+ + 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..927ffa40d --- /dev/null +++ b/api/proguard/analysis/cpa/util/package-summary.html @@ -0,0 +1,153 @@ + + + + + +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..eccb8f93a --- /dev/null +++ b/api/proguard/analysis/cpa/util/package-tree.html @@ -0,0 +1,132 @@ + + + + + +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..9a49599e8 --- /dev/null +++ b/api/proguard/analysis/datastructure/CodeLocation.html @@ -0,0 +1,516 @@ + + + + + +CodeLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure
+

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..1acbf038e --- /dev/null +++ b/api/proguard/analysis/datastructure/FileLocation.html @@ -0,0 +1,440 @@ + + + + + +FileLocation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..26c792cdc --- /dev/null +++ b/api/proguard/analysis/datastructure/Location.html @@ -0,0 +1,346 @@ + + + + + +Location (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure
+

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 TypeField and Description
      intline 
      static intUNKNOWN_LINE 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      protected Location(int line) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..297db6dd0 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/Call.html @@ -0,0 +1,691 @@ + + + + + +Call (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

Class Call

+
+
+
    +
  • 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 TypeField and Description
      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 
      ModifierConstructor and Description
      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 CallVisitor.visitCall(Call). 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 CallVisitor.visitCall(Call). 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 CallVisitor.visitCall(Call). 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..7646f5a85 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/CallGraph.html @@ -0,0 +1,492 @@ + + + + + +CallGraph (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

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.
        +
      • +
      + + + + +
    • +
    + +
      +
    • + + +

      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)
        +
        Calculate the incoming call graph for a method of interest, showing how it can be reached. + +

        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(). + +

        Generally, we still can't be sure whether the top most methods (leaves in the tree) can be + reached themselves, if we don't find any incoming edges. But if these methods are EntryPoints of an Android app, they will most likely be called at some point in the app + lifecycle.

        +
        +
        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.
        +
        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<EntryPoint> entryPoints)
        +
        Extension of reconstructCallGraph(ClassPool, MethodSignature) that also collects all + EntryPoints found along the way.
        +
        +
        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.
        +
        entryPoints - A set that will be filled with all EntryPoints that are part of the + incoming call graph.
        +
        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..a1ac39022 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/ConcreteCall.html @@ -0,0 +1,444 @@ + + + + + +ConcreteCall (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

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/EntryPoint.Type.html b/api/proguard/analysis/datastructure/callgraph/EntryPoint.Type.html new file mode 100644 index 000000000..eb31e1562 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/EntryPoint.Type.html @@ -0,0 +1,366 @@ + + + + + +EntryPoint.Type (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

Enum EntryPoint.Type

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Enum<EntryPoint.Type>
    • +
    • +
        +
      • proguard.analysis.datastructure.callgraph.EntryPoint.Type
      • +
      +
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, java.lang.Comparable<EntryPoint.Type>
    +
    +
    +
    Enclosing class:
    +
    EntryPoint
    +
    +
    +
    +
    public static enum EntryPoint.Type
    +extends java.lang.Enum<EntryPoint.Type>
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      static EntryPoint.TypevalueOf(java.lang.String name) +
      Returns the enum constant of this type with the specified name.
      +
      static EntryPoint.Type[]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 EntryPoint.Type[] 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 (EntryPoint.Type c : EntryPoint.Type.values())
        +    System.out.println(c);
        +
        +
        +
        Returns:
        +
        an array containing the constants of this enum type, in the order they are declared
        +
        +
      • +
      + + + +
        +
      • +

        valueOf

        +
        public static EntryPoint.Type 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/datastructure/callgraph/EntryPoint.html b/api/proguard/analysis/datastructure/callgraph/EntryPoint.html new file mode 100644 index 000000000..b8c1dff2c --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/EntryPoint.html @@ -0,0 +1,516 @@ + + + + + +EntryPoint (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

Class EntryPoint

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.analysis.datastructure.callgraph.EntryPoint
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class EntryPoint
    +extends java.lang.Object
    +
    This class serves as a static collection of entry points for an app. An entry point is a method + that is provided by the Android framework and can be hooked by the app to be called at a specific + point in the app lifecycle. + +

    The list of well known entry points has been curated using the official + documentation and a third-party + collection.

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

      Field Detail

      + + + +
        +
      • +

        ENTRY_POINTS_ACTIVITY

        +
        public static final java.util.List<EntryPoint> ENTRY_POINTS_ACTIVITY
        +
      • +
      + + + +
        +
      • +

        ENTRY_POINTS_FRAGMENT

        +
        public static final java.util.List<EntryPoint> ENTRY_POINTS_FRAGMENT
        +
      • +
      + + + +
        +
      • +

        ENTRY_POINTS_SERVICE

        +
        public static final java.util.List<EntryPoint> ENTRY_POINTS_SERVICE
        +
      • +
      + + + +
        +
      • +

        ENTRY_POINTS_BROADCAST_RECEIVER

        +
        public static final java.util.List<EntryPoint> ENTRY_POINTS_BROADCAST_RECEIVER
        +
      • +
      + + + +
        +
      • +

        ENTRY_POINTS_CONTENT_PROVIDER

        +
        public static final java.util.List<EntryPoint> ENTRY_POINTS_CONTENT_PROVIDER
        +
      • +
      + + + +
        +
      • +

        WELL_KNOWN_ENTRYPOINTS

        +
        public static final java.util.List<EntryPoint> WELL_KNOWN_ENTRYPOINTS
        +
      • +
      + + + +
        +
      • +

        WELL_KNOWN_ENTRYPOINT_CLASSES

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

        className

        +
        public final java.lang.String className
        +
      • +
      + + + +
        +
      • +

        methodName

        +
        public final java.lang.String methodName
        +
      • +
      + + + + +
    • +
    + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        EntryPoint

        +
        public EntryPoint(EntryPoint.Type type,
        +                  java.lang.String className,
        +                  java.lang.String methodName)
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

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

        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/analysis/datastructure/callgraph/Node.html b/api/proguard/analysis/datastructure/callgraph/Node.html new file mode 100644 index 000000000..badf79dda --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/Node.html @@ -0,0 +1,548 @@ + + + + + +Node (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

Class Node

+
+
+
    +
  • 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
        +
      • +
      + + + +
        +
      • +

        matchingEntrypoint

        +
        public EntryPoint matchingEntrypoint
        +
      • +
      + + + +
        +
      • +

        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..c51f7af28 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/SymbolicCall.html @@ -0,0 +1,369 @@ + + + + + +SymbolicCall (ProGuardCORE) + + + + + + + + + + + +
+
proguard.analysis.datastructure.callgraph
+

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-frame.html b/api/proguard/analysis/datastructure/callgraph/package-frame.html new file mode 100644 index 000000000..38f241b39 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/package-frame.html @@ -0,0 +1,28 @@ + + + + + +proguard.analysis.datastructure.callgraph (ProGuardCORE) + + + + +

proguard.analysis.datastructure.callgraph

+ + + 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..bad047d12 --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/package-summary.html @@ -0,0 +1,187 @@ + + + + + +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.
    +
    EntryPoint +
    This class serves as a static collection of entry points for an app.
    +
    Node +
    Represents a node in a sub-callgraph, e.g.
    +
    SymbolicCall +
    A call whose target Method is not available in our ClassPool.
    +
    +
  • +
  • + + + + + + + + + + + + +
    Enum Summary 
    EnumDescription
    EntryPoint.Type 
    +
  • +
+
+ + + + + + 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..c8a8c2cde --- /dev/null +++ b/api/proguard/analysis/datastructure/callgraph/package-tree.html @@ -0,0 +1,154 @@ + + + + + +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.EntryPoint
    • +
    • proguard.analysis.datastructure.callgraph.Node
    • +
    +
  • +
+

Enum Hierarchy

+
    +
  • java.lang.Object +
      +
    • java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable) + +
    • +
    +
  • +
+
+ + + + + + diff --git a/api/proguard/analysis/datastructure/package-frame.html b/api/proguard/analysis/datastructure/package-frame.html new file mode 100644 index 000000000..a05436aae --- /dev/null +++ b/api/proguard/analysis/datastructure/package-frame.html @@ -0,0 +1,21 @@ + + + + + +proguard.analysis.datastructure (ProGuardCORE) + + + + +

proguard.analysis.datastructure

+ + + diff --git a/api/proguard/analysis/datastructure/package-summary.html b/api/proguard/analysis/datastructure/package-summary.html new file mode 100644 index 000000000..e6298df4c --- /dev/null +++ b/api/proguard/analysis/datastructure/package-summary.html @@ -0,0 +1,154 @@ + + + + + +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..1466e15fb --- /dev/null +++ b/api/proguard/analysis/datastructure/package-tree.html @@ -0,0 +1,139 @@ + + + + + +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-frame.html b/api/proguard/analysis/package-frame.html new file mode 100644 index 000000000..731458f4b --- /dev/null +++ b/api/proguard/analysis/package-frame.html @@ -0,0 +1,30 @@ + + + + + +proguard.analysis (ProGuardCORE) + + + + +

proguard.analysis

+ + + diff --git a/api/proguard/analysis/package-summary.html b/api/proguard/analysis/package-summary.html new file mode 100644 index 000000000..b22398132 --- /dev/null +++ b/api/proguard/analysis/package-summary.html @@ -0,0 +1,193 @@ + + + + + +proguard.analysis (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.analysis

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    CallVisitor +
    This visitor 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 
    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..e9845e715 --- /dev/null +++ b/api/proguard/analysis/package-tree.html @@ -0,0 +1,153 @@ + + + + + +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..41baf4083 --- /dev/null +++ b/api/proguard/backport/LambdaExpression.html @@ -0,0 +1,633 @@ + + + + + +LambdaExpression (ProGuardCORE) + + + + + + + + + + + +
+
proguard.backport
+

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..f1d0762fb --- /dev/null +++ b/api/proguard/backport/LambdaExpressionCollector.html @@ -0,0 +1,452 @@ + + + + + +LambdaExpressionCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.backport
+

Class LambdaExpressionCollector

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.backport.LambdaExpressionCollector
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/backport/package-frame.html b/api/proguard/backport/package-frame.html new file mode 100644 index 000000000..e4b2ab5a0 --- /dev/null +++ b/api/proguard/backport/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.backport (ProGuardCORE) + + + + +

proguard.backport

+ + + diff --git a/api/proguard/backport/package-summary.html b/api/proguard/backport/package-summary.html new file mode 100644 index 000000000..3518e0ede --- /dev/null +++ b/api/proguard/backport/package-summary.html @@ -0,0 +1,148 @@ + + + + + +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..ca18fc770 --- /dev/null +++ b/api/proguard/backport/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..fd57a3220 --- /dev/null +++ b/api/proguard/classfile/AccessConstants.html @@ -0,0 +1,836 @@ + + + + + +AccessConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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/ClassConstants.html b/api/proguard/classfile/ClassConstants.html new file mode 100644 index 000000000..71aeaa97c --- /dev/null +++ b/api/proguard/classfile/ClassConstants.html @@ -0,0 +1,5392 @@ + + + + + +ClassConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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
        +
        +
      • +
      + + + +
        +
      • +

        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
        +
        +
      • +
      + + + +
        +
      • +

        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
        +
        +
      • +
      + + + +
        +
      • +

        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..6a4923e9c --- /dev/null +++ b/api/proguard/classfile/ClassPool.html @@ -0,0 +1,683 @@ + + + + + +ClassPool (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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 
      Constructor and Description
      ClassPool() +
      Creates a new empty ClassPool.
      +
      ClassPool(ClassPool classPool) +
      Creates a new ClassPool with the given classes.
      +
      ClassPool(Clazz... classes) +
      Creates a new ClassPool with the given classes.
      +
      ClassPool(java.lang.Iterable<? extends Clazz> classes) +
      Creates a new ClassPool with the given classes.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidaccept(ClassPoolVisitor classPoolVisitor) +
      Applies the given ClassPoolVisitor to the class pool.
      +
      voidaddClass(Clazz clazz) +
      Adds the given Clazz to the class pool.
      +
      voidaddClass(java.lang.String name, + Clazz clazz) +
      Adds the given Clazz with the given name 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(ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all classes in the class pool, in random order.
      +
      voidclassesAccept(java.util.List classNameFilter, + ClassVisitor classVisitor) +
      Applies the given ClassVisitor to all matching 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(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.
      +
      voidremoveClass(Clazz clazz) +
      Removes the given Clazz from the class pool.
      +
      ClazzremoveClass(java.lang.String className) +
      Removes the Class with the specified name 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..2ab2dce2b --- /dev/null +++ b/api/proguard/classfile/ClassSignature.html @@ -0,0 +1,395 @@ + + + + + +ClassSignature (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..5e804f214 --- /dev/null +++ b/api/proguard/classfile/Clazz.html @@ -0,0 +1,976 @@ + + + + + +Clazz (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

Interface Clazz

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

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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_(Clazz clazz) +
      Returns whether this class extends the given class.
      +
      booleanextends_(java.lang.String className) +
      Returns whether this class extends the specified class.
      +
      booleanextendsOrImplements(Clazz clazz) +
      Returns whether this class implements the given class.
      +
      booleanextendsOrImplements(java.lang.String className) +
      Returns whether this class implements the specified 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..529319192 --- /dev/null +++ b/api/proguard/classfile/Field.html @@ -0,0 +1,202 @@ + + + + + +Field (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

Interface Field

+
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/FieldSignature.html b/api/proguard/classfile/FieldSignature.html new file mode 100644 index 000000000..b2f373d21 --- /dev/null +++ b/api/proguard/classfile/FieldSignature.html @@ -0,0 +1,462 @@ + + + + + +FieldSignature (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..f65e3dad8 --- /dev/null +++ b/api/proguard/classfile/JavaAccessConstants.html @@ -0,0 +1,653 @@ + + + + + +JavaAccessConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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 TypeField and Description
      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..161cf908f --- /dev/null +++ b/api/proguard/classfile/JavaConstants.html @@ -0,0 +1,568 @@ + + + + + +JavaConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..20a12b592 --- /dev/null +++ b/api/proguard/classfile/JavaTypeConstants.html @@ -0,0 +1,552 @@ + + + + + +JavaTypeConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..df0c70d0a --- /dev/null +++ b/api/proguard/classfile/JavaVersionConstants.html @@ -0,0 +1,738 @@ + + + + + +JavaVersionConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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
        +
        +
      • +
      +
    • +
    + +
      +
    • + + +

      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..39a85d00f --- /dev/null +++ b/api/proguard/classfile/LibraryClass.html @@ -0,0 +1,1597 @@ + + + + + +LibraryClass (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..2a9723282 --- /dev/null +++ b/api/proguard/classfile/LibraryField.html @@ -0,0 +1,424 @@ + + + + + +LibraryField (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..7b5e55b29 --- /dev/null +++ b/api/proguard/classfile/LibraryMember.html @@ -0,0 +1,493 @@ + + + + + +LibraryMember (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..33639e05f --- /dev/null +++ b/api/proguard/classfile/LibraryMethod.html @@ -0,0 +1,425 @@ + + + + + +LibraryMethod (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..8ac50f1f5 --- /dev/null +++ b/api/proguard/classfile/Member.html @@ -0,0 +1,308 @@ + + + + + +Member (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..443ecbb0e --- /dev/null +++ b/api/proguard/classfile/Method.html @@ -0,0 +1,202 @@ + + + + + +Method (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

Interface Method

+
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/MethodDescriptor.html b/api/proguard/classfile/MethodDescriptor.html new file mode 100644 index 000000000..3d2ce10d2 --- /dev/null +++ b/api/proguard/classfile/MethodDescriptor.html @@ -0,0 +1,518 @@ + + + + + +MethodDescriptor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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 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 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 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..6abf04db3 --- /dev/null +++ b/api/proguard/classfile/MethodInfo.html @@ -0,0 +1,244 @@ + + + + + +MethodInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

Interface MethodInfo

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    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..2a5080cc3 --- /dev/null +++ b/api/proguard/classfile/MethodSignature.html @@ -0,0 +1,653 @@ + + + + + +MethodSignature (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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 .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 + .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..be38f2bca --- /dev/null +++ b/api/proguard/classfile/ProgramClass.html @@ -0,0 +1,1698 @@ + + + + + +ProgramClass (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..0e8bf1983 --- /dev/null +++ b/api/proguard/classfile/ProgramField.html @@ -0,0 +1,528 @@ + + + + + +ProgramField (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..6820c971e --- /dev/null +++ b/api/proguard/classfile/ProgramMember.html @@ -0,0 +1,569 @@ + + + + + +ProgramMember (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..3069cdb11 --- /dev/null +++ b/api/proguard/classfile/ProgramMethod.html @@ -0,0 +1,529 @@ + + + + + +ProgramMethod (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..42de34824 --- /dev/null +++ b/api/proguard/classfile/Signature.html @@ -0,0 +1,656 @@ + + + + + +Signature (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..fc7c19ff7 --- /dev/null +++ b/api/proguard/classfile/TypeConstants.html @@ -0,0 +1,632 @@ + + + + + +TypeConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..85c334cdc --- /dev/null +++ b/api/proguard/classfile/VersionConstants.html @@ -0,0 +1,1431 @@ + + + + + +VersionConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile
+

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..2396407a3 --- /dev/null +++ b/api/proguard/classfile/attribute/Attribute.html @@ -0,0 +1,1056 @@ + + + + + +Attribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..0d6ef6f60 --- /dev/null +++ b/api/proguard/classfile/attribute/BootstrapMethodInfo.html @@ -0,0 +1,454 @@ + + + + + +BootstrapMethodInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..3ce03382c --- /dev/null +++ b/api/proguard/classfile/attribute/BootstrapMethodsAttribute.html @@ -0,0 +1,434 @@ + + + + + +BootstrapMethodsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..d4d754ba6 --- /dev/null +++ b/api/proguard/classfile/attribute/CodeAttribute.html @@ -0,0 +1,700 @@ + + + + + +CodeAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..c84d7ccbb --- /dev/null +++ b/api/proguard/classfile/attribute/ConstantValueAttribute.html @@ -0,0 +1,383 @@ + + + + + +ConstantValueAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

Class ConstantValueAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    +
    public class ConstantValueAttribute
    +extends Attribute
    +
    This Attribute represents a constant value attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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.
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/DeprecatedAttribute.html b/api/proguard/classfile/attribute/DeprecatedAttribute.html new file mode 100644 index 000000000..6816770b7 --- /dev/null +++ b/api/proguard/classfile/attribute/DeprecatedAttribute.html @@ -0,0 +1,401 @@ + + + + + +DeprecatedAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..e2f0d13a4 --- /dev/null +++ b/api/proguard/classfile/attribute/EnclosingMethodAttribute.html @@ -0,0 +1,510 @@ + + + + + +EnclosingMethodAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..d9d077872 --- /dev/null +++ b/api/proguard/classfile/attribute/ExceptionInfo.html @@ -0,0 +1,416 @@ + + + + + +ExceptionInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..89829a53f --- /dev/null +++ b/api/proguard/classfile/attribute/ExceptionsAttribute.html @@ -0,0 +1,416 @@ + + + + + +ExceptionsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..9b0f28a0a --- /dev/null +++ b/api/proguard/classfile/attribute/ExtendedLineNumberInfo.html @@ -0,0 +1,351 @@ + + + + + +ExtendedLineNumberInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..ca6b1d4ce --- /dev/null +++ b/api/proguard/classfile/attribute/InnerClassesAttribute.html @@ -0,0 +1,414 @@ + + + + + +InnerClassesAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

Class InnerClassesAttribute

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    +
    public class InnerClassesAttribute
    +extends Attribute
    +
    This Attribute represents an inner classes attribute.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..bb40537f1 --- /dev/null +++ b/api/proguard/classfile/attribute/InnerClassesInfo.html @@ -0,0 +1,436 @@ + + + + + +InnerClassesInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..b663f6bf2 --- /dev/null +++ b/api/proguard/classfile/attribute/LineNumberInfo.html @@ -0,0 +1,347 @@ + + + + + +LineNumberInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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 TypeField and Description
      intu2lineNumber 
      intu2startPC 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      LineNumberInfo() +
      Creates an uninitialized LineNumberInfo.
      +
      LineNumberInfo(int u2startPC, + int u2lineNumber) +
      Creates an initialized LineNumberInfo.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..0ad73a4f3 --- /dev/null +++ b/api/proguard/classfile/attribute/LineNumberTableAttribute.html @@ -0,0 +1,506 @@ + + + + + +LineNumberTableAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..fe4d281d6 --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableInfo.html @@ -0,0 +1,480 @@ + + + + + +LocalVariableInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..56435b8f3 --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTableAttribute.html @@ -0,0 +1,422 @@ + + + + + +LocalVariableTableAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..6118386ee --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTypeInfo.html @@ -0,0 +1,480 @@ + + + + + +LocalVariableTypeInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..71ecac0e7 --- /dev/null +++ b/api/proguard/classfile/attribute/LocalVariableTypeTableAttribute.html @@ -0,0 +1,422 @@ + + + + + +LocalVariableTypeTableAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..1927fab8b --- /dev/null +++ b/api/proguard/classfile/attribute/MethodParametersAttribute.html @@ -0,0 +1,418 @@ + + + + + +MethodParametersAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..19b9bf557 --- /dev/null +++ b/api/proguard/classfile/attribute/NestHostAttribute.html @@ -0,0 +1,397 @@ + + + + + +NestHostAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..555ebfcef --- /dev/null +++ b/api/proguard/classfile/attribute/NestMembersAttribute.html @@ -0,0 +1,414 @@ + + + + + +NestMembersAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..207179188 --- /dev/null +++ b/api/proguard/classfile/attribute/ParameterInfo.html @@ -0,0 +1,388 @@ + + + + + +ParameterInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..cfc6086d6 --- /dev/null +++ b/api/proguard/classfile/attribute/PermittedSubclassesAttribute.html @@ -0,0 +1,414 @@ + + + + + +PermittedSubclassesAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..c1b92c7b0 --- /dev/null +++ b/api/proguard/classfile/attribute/RecordAttribute.html @@ -0,0 +1,414 @@ + + + + + +RecordAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..fcc35e292 --- /dev/null +++ b/api/proguard/classfile/attribute/RecordComponentInfo.html @@ -0,0 +1,467 @@ + + + + + +RecordComponentInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

Class RecordComponentInfo

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.io.Serializable, Processable
    +
    +
    +
    +
    public class RecordComponentInfo
    +extends SimpleProcessable
    +
    Representation of a record component entry.
    +
    +
    See Also:
    +
    Serialized Form
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..3840671ea --- /dev/null +++ b/api/proguard/classfile/attribute/SignatureAttribute.html @@ -0,0 +1,507 @@ + + + + + +SignatureAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..76f7f87c0 --- /dev/null +++ b/api/proguard/classfile/attribute/SourceDebugExtensionAttribute.html @@ -0,0 +1,396 @@ + + + + + +SourceDebugExtensionAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..f97ef90f4 --- /dev/null +++ b/api/proguard/classfile/attribute/SourceDirAttribute.html @@ -0,0 +1,381 @@ + + + + + +SourceDirAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..e8d99a2fd --- /dev/null +++ b/api/proguard/classfile/attribute/SourceFileAttribute.html @@ -0,0 +1,381 @@ + + + + + +SourceFileAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..4bc5eff02 --- /dev/null +++ b/api/proguard/classfile/attribute/SyntheticAttribute.html @@ -0,0 +1,401 @@ + + + + + +SyntheticAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..8e9261eee --- /dev/null +++ b/api/proguard/classfile/attribute/UnknownAttribute.html @@ -0,0 +1,475 @@ + + + + + +UnknownAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute
+

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..62181bbff --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/Annotation.html @@ -0,0 +1,474 @@ + + + + + +Annotation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..785383dba --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationDefaultAttribute.html @@ -0,0 +1,401 @@ + + + + + +AnnotationDefaultAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..fe2630270 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationElementValue.html @@ -0,0 +1,422 @@ + + + + + +AnnotationElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..d02c67f61 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/AnnotationsAttribute.html @@ -0,0 +1,524 @@ + + + + + +AnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..2baf11186 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ArrayElementValue.html @@ -0,0 +1,461 @@ + + + + + +ArrayElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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.
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/annotation/ClassElementValue.html b/api/proguard/classfile/attribute/annotation/ClassElementValue.html new file mode 100644 index 000000000..20bb07667 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ClassElementValue.html @@ -0,0 +1,454 @@ + + + + + +ClassElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..6958566f7 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ConstantElementValue.html @@ -0,0 +1,419 @@ + + + + + +ConstantElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..fdf987b1c --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ElementValue.html @@ -0,0 +1,538 @@ + + + + + +ElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..d2a755d61 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/EnumConstantElementValue.html @@ -0,0 +1,517 @@ + + + + + +EnumConstantElementValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..d8562c16b --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/ParameterAnnotationsAttribute.html @@ -0,0 +1,415 @@ + + + + + +ParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..3a2fe9fc9 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleAnnotationsAttribute.html @@ -0,0 +1,449 @@ + + + + + +RuntimeInvisibleAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..dfbd192ff --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleParameterAnnotationsAttribute.html @@ -0,0 +1,378 @@ + + + + + +RuntimeInvisibleParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..9dd342f6b --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeInvisibleTypeAnnotationsAttribute.html @@ -0,0 +1,488 @@ + + + + + +RuntimeInvisibleTypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..dd1f7cd9c --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleAnnotationsAttribute.html @@ -0,0 +1,449 @@ + + + + + +RuntimeVisibleAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..b68f51a8a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleParameterAnnotationsAttribute.html @@ -0,0 +1,378 @@ + + + + + +RuntimeVisibleParameterAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..c7b4d4c9f --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/RuntimeVisibleTypeAnnotationsAttribute.html @@ -0,0 +1,488 @@ + + + + + +RuntimeVisibleTypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..bc98e20a5 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypeAnnotation.html @@ -0,0 +1,539 @@ + + + + + +TypeAnnotation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..d72653cf7 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypeAnnotationsAttribute.html @@ -0,0 +1,438 @@ + + + + + +TypeAnnotationsAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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..afdfec873 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/TypePathInfo.html @@ -0,0 +1,372 @@ + + + + + +TypePathInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation
+

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 
      Constructor and Description
      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-frame.html b/api/proguard/classfile/attribute/annotation/package-frame.html new file mode 100644 index 000000000..b94b04e47 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/package-frame.html @@ -0,0 +1,37 @@ + + + + + +proguard.classfile.attribute.annotation (ProGuardCORE) + + + + +

proguard.classfile.attribute.annotation

+ + + 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..eb7a12a53 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/package-summary.html @@ -0,0 +1,261 @@ + + + + + +proguard.classfile.attribute.annotation (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.annotation

+
+
This package contains classes to represent the annotation attributes inside +class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.annotation Description

+
This package contains classes to represent the annotation attributes inside +class files.
+
+ + + + + + 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..7cf0ac058 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/package-tree.html @@ -0,0 +1,175 @@ + + + + + +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..8909e08a1 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/CatchTargetInfo.html @@ -0,0 +1,399 @@ + + + + + +CatchTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..6861a7d4d --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/EmptyTargetInfo.html @@ -0,0 +1,379 @@ + + + + + +EmptyTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..9f42a9c78 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/FormalParameterTargetInfo.html @@ -0,0 +1,397 @@ + + + + + +FormalParameterTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..0c7484b3a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetElement.html @@ -0,0 +1,319 @@ + + + + + +LocalVariableTargetElement (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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 TypeField and Description
      intu2index 
      intu2length 
      intu2startPC 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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..ed39f4a21 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/LocalVariableTargetInfo.html @@ -0,0 +1,438 @@ + + + + + +LocalVariableTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..ffc749edd --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/OffsetTargetInfo.html @@ -0,0 +1,399 @@ + + + + + +OffsetTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..207a9ee64 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/SuperTypeTargetInfo.html @@ -0,0 +1,388 @@ + + + + + +SuperTypeTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..637a4b71a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TargetInfo.html @@ -0,0 +1,795 @@ + + + + + +TargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..c814d767a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/ThrowsTargetInfo.html @@ -0,0 +1,397 @@ + + + + + +ThrowsTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..2d17c6fd6 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeArgumentTargetInfo.html @@ -0,0 +1,414 @@ + + + + + +TypeArgumentTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..7660727a7 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeParameterBoundTargetInfo.html @@ -0,0 +1,440 @@ + + + + + +TypeParameterBoundTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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..93f214031 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/TypeParameterTargetInfo.html @@ -0,0 +1,398 @@ + + + + + +TypeParameterTargetInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target
+

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-frame.html b/api/proguard/classfile/attribute/annotation/target/package-frame.html new file mode 100644 index 000000000..1e3c1cb81 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/package-frame.html @@ -0,0 +1,30 @@ + + + + + +proguard.classfile.attribute.annotation.target (ProGuardCORE) + + + + +

proguard.classfile.attribute.annotation.target

+ + + 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..6867db6ec --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/package-summary.html @@ -0,0 +1,216 @@ + + + + + +proguard.classfile.attribute.annotation.target (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.annotation.target

+
+
This package contains classes to represent the targets of type annotations.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.annotation.target Description

+
This package contains classes to represent the targets of type annotations.
+
+ + + + + + 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..4abe0ebe3 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..cd6e4c6fa --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/LocalVariableTargetElementVisitor.html @@ -0,0 +1,234 @@ + + + + + +LocalVariableTargetElementVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target.visitor
+

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..77819857e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/TargetInfoVisitor.html @@ -0,0 +1,537 @@ + + + + + +TargetInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.target.visitor
+

Interface TargetInfoVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/annotation/target/visitor/package-frame.html b/api/proguard/classfile/attribute/annotation/target/visitor/package-frame.html new file mode 100644 index 000000000..f0e657754 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.classfile.attribute.annotation.target.visitor (ProGuardCORE) + + + + +

proguard.classfile.attribute.annotation.target.visitor

+ + + 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..8a7044f2a --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/package-summary.html @@ -0,0 +1,157 @@ + + + + + +proguard.classfile.attribute.annotation.target.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.annotation.target.visitor

+
+
This package contains visitors for type annotation attributes and their components.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.annotation.target.visitor Description

+
This package contains visitors for type annotation attributes and their components.
+
+ + + + + + 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..59f9e8d55 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/target/visitor/package-tree.html @@ -0,0 +1,131 @@ + + + + + +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..533b25652 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AllAnnotationVisitor.html @@ -0,0 +1,616 @@ + + + + + +AllAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..0cbb6244e --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AllElementValueVisitor.html @@ -0,0 +1,723 @@ + + + + + +AllElementValueVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..62766d391 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedClassVisitor.html @@ -0,0 +1,293 @@ + + + + + +AnnotationToAnnotatedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..1d763399d --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationToAnnotatedMemberVisitor.html @@ -0,0 +1,291 @@ + + + + + +AnnotationToAnnotatedMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..924b864ad --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationTypeFilter.html @@ -0,0 +1,440 @@ + + + + + +AnnotationTypeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..86a5bef67 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/AnnotationVisitor.html @@ -0,0 +1,320 @@ + + + + + +AnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..bd4d317be --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/ElementValueVisitor.html @@ -0,0 +1,316 @@ + + + + + +ElementValueVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

Interface ElementValueVisitor

+
+
+ +
+ +
+
+ +
+
+ + + + + + + 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..26548c85b --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/MultiAnnotationVisitor.html @@ -0,0 +1,406 @@ + + + + + +MultiAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..2262053f8 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/TypeAnnotationVisitor.html @@ -0,0 +1,320 @@ + + + + + +TypeAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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..72cddd959 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/TypePathInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +TypePathInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.annotation.visitor
+

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-frame.html b/api/proguard/classfile/attribute/annotation/visitor/package-frame.html new file mode 100644 index 000000000..1dfe31e98 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/package-frame.html @@ -0,0 +1,31 @@ + + + + + +proguard.classfile.attribute.annotation.visitor (ProGuardCORE) + + + + +

proguard.classfile.attribute.annotation.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..e2b2aa55f --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/package-summary.html @@ -0,0 +1,219 @@ + + + + + +proguard.classfile.attribute.annotation.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.annotation.visitor

+
+
This package contains visitors for annotation attributes and their components.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.annotation.visitor Description

+
This package contains visitors for annotation attributes and their components.
+
+ + + + + + 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..04f058b55 --- /dev/null +++ b/api/proguard/classfile/attribute/annotation/visitor/package-tree.html @@ -0,0 +1,146 @@ + + + + + +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..c728c6998 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ExportsInfo.html @@ -0,0 +1,418 @@ + + + + + +ExportsInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..57c272f1a --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModuleAttribute.html @@ -0,0 +1,687 @@ + + + + + +ModuleAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..0ee625695 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModuleMainClassAttribute.html @@ -0,0 +1,415 @@ + + + + + +ModuleMainClassAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..d39ac2c12 --- /dev/null +++ b/api/proguard/classfile/attribute/module/ModulePackagesAttribute.html @@ -0,0 +1,414 @@ + + + + + +ModulePackagesAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..906f9fe63 --- /dev/null +++ b/api/proguard/classfile/attribute/module/OpensInfo.html @@ -0,0 +1,418 @@ + + + + + +OpensInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..bf802e24b --- /dev/null +++ b/api/proguard/classfile/attribute/module/ProvidesInfo.html @@ -0,0 +1,403 @@ + + + + + +ProvidesInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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..14c18333a --- /dev/null +++ b/api/proguard/classfile/attribute/module/RequiresInfo.html @@ -0,0 +1,403 @@ + + + + + +RequiresInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module
+

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-frame.html b/api/proguard/classfile/attribute/module/package-frame.html new file mode 100644 index 000000000..7fd811772 --- /dev/null +++ b/api/proguard/classfile/attribute/module/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.classfile.attribute.module (ProGuardCORE) + + + + +

proguard.classfile.attribute.module

+ + + 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..1157a61af --- /dev/null +++ b/api/proguard/classfile/attribute/module/package-summary.html @@ -0,0 +1,188 @@ + + + + + +proguard.classfile.attribute.module (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.module

+
+
This package contains classes to represent the module attributes inside class +files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.module Description

+
This package contains classes to represent the module attributes inside class +files.
+
+ + + + + + 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..d86931716 --- /dev/null +++ b/api/proguard/classfile/attribute/module/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..e948e4e8d --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllExportsInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +AllExportsInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..12b4b29bc --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllOpensInfoVisitor.html @@ -0,0 +1,312 @@ + + + + + +AllOpensInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..2af6e437b --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllProvidesInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +AllProvidesInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..bedf5495d --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/AllRequiresInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +AllRequiresInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..a844c3e2e --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/ExportsInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +ExportsInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..4a98bdabb --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/OpensInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +OpensInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..a74867103 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/ProvidesInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +ProvidesInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

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..47ca0f59c --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/RequiresInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +RequiresInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.module.visitor
+

Interface RequiresInfoVisitor

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

      Method Detail

      + + + +
        +
      • +

        visitRequiresInfo

        +
        void visitRequiresInfo(Clazz clazz,
        +                       RequiresInfo requiresInfo)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/module/visitor/package-frame.html b/api/proguard/classfile/attribute/module/visitor/package-frame.html new file mode 100644 index 000000000..4a00c6399 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/package-frame.html @@ -0,0 +1,29 @@ + + + + + +proguard.classfile.attribute.module.visitor (ProGuardCORE) + + + + +

proguard.classfile.attribute.module.visitor

+ + + 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..6b416d774 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/package-summary.html @@ -0,0 +1,204 @@ + + + + + +proguard.classfile.attribute.module.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.module.visitor

+
+
This package contains visitors for module attributes and their components.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.module.visitor Description

+
This package contains visitors for module attributes and their components.
+
+ + + + + + 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..08be53e42 --- /dev/null +++ b/api/proguard/classfile/attribute/module/visitor/package-tree.html @@ -0,0 +1,144 @@ + + + + + +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-frame.html b/api/proguard/classfile/attribute/package-frame.html new file mode 100644 index 000000000..4e49fccb6 --- /dev/null +++ b/api/proguard/classfile/attribute/package-frame.html @@ -0,0 +1,49 @@ + + + + + +proguard.classfile.attribute (ProGuardCORE) + + + + +

proguard.classfile.attribute

+ + + diff --git a/api/proguard/classfile/attribute/package-summary.html b/api/proguard/classfile/attribute/package-summary.html new file mode 100644 index 000000000..0f7c3f53c --- /dev/null +++ b/api/proguard/classfile/attribute/package-summary.html @@ -0,0 +1,331 @@ + + + + + +proguard.classfile.attribute (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute

+
+
This package contains classes to represent the attributes inside class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute Description

+
This package contains classes to represent the attributes inside class files.
+
+ + + + + + diff --git a/api/proguard/classfile/attribute/package-tree.html b/api/proguard/classfile/attribute/package-tree.html new file mode 100644 index 000000000..a30e2c706 --- /dev/null +++ b/api/proguard/classfile/attribute/package-tree.html @@ -0,0 +1,174 @@ + + + + + +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..ff8bda5b0 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/DoubleType.html @@ -0,0 +1,441 @@ + + + + + +DoubleType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..ebaf83553 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/FloatType.html @@ -0,0 +1,441 @@ + + + + + +FloatType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..8d9ed291f --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/FullFrame.html @@ -0,0 +1,571 @@ + + + + + +FullFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..6764b6740 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/IntegerType.html @@ -0,0 +1,441 @@ + + + + + +IntegerType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..3951b12d7 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/LessZeroFrame.html @@ -0,0 +1,472 @@ + + + + + +LessZeroFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..9004d74f9 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/LongType.html @@ -0,0 +1,441 @@ + + + + + +LongType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

Class LongType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html b/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html new file mode 100644 index 000000000..ac92cb142 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/MoreZeroFrame.html @@ -0,0 +1,526 @@ + + + + + +MoreZeroFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..cf50310fb --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/NullType.html @@ -0,0 +1,441 @@ + + + + + +NullType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

Class NullType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/preverification/ObjectType.html b/api/proguard/classfile/attribute/preverification/ObjectType.html new file mode 100644 index 000000000..6c11e4f45 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/ObjectType.html @@ -0,0 +1,514 @@ + + + + + +ObjectType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..309e0611c --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/SameOneFrame.html @@ -0,0 +1,497 @@ + + + + + +SameOneFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..62d270bdb --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/SameZeroFrame.html @@ -0,0 +1,395 @@ + + + + + +SameZeroFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..02304e5b4 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapAttribute.html @@ -0,0 +1,435 @@ + + + + + +StackMapAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..546102572 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapFrame.html @@ -0,0 +1,550 @@ + + + + + +StackMapFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..5a0b923dc --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/StackMapTableAttribute.html @@ -0,0 +1,435 @@ + + + + + +StackMapTableAttribute (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..ba2a7c299 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/TopType.html @@ -0,0 +1,441 @@ + + + + + +TopType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

Class TopType

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/preverification/UninitializedThisType.html b/api/proguard/classfile/attribute/preverification/UninitializedThisType.html new file mode 100644 index 000000000..cc42c4e26 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/UninitializedThisType.html @@ -0,0 +1,441 @@ + + + + + +UninitializedThisType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..affc13144 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/UninitializedType.html @@ -0,0 +1,514 @@ + + + + + +UninitializedType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..d45308641 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/VerificationType.html @@ -0,0 +1,592 @@ + + + + + +VerificationType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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..5fb092fec --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/VerificationTypeFactory.html @@ -0,0 +1,400 @@ + + + + + +VerificationTypeFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification
+

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-frame.html b/api/proguard/classfile/attribute/preverification/package-frame.html new file mode 100644 index 000000000..0f4544d7e --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/package-frame.html @@ -0,0 +1,37 @@ + + + + + +proguard.classfile.attribute.preverification (ProGuardCORE) + + + + +

proguard.classfile.attribute.preverification

+ + + 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..0f78d6488 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/package-summary.html @@ -0,0 +1,259 @@ + + + + + +proguard.classfile.attribute.preverification (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.preverification

+
+
This package contains classes to represent the stack map attributes inside class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.preverification Description

+
This package contains classes to represent the stack map attributes inside class files.
+
+ + + + + + 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..1be0f79a8 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/package-tree.html @@ -0,0 +1,166 @@ + + + + + +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..59b573317 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/StackMapFrameVisitor.html @@ -0,0 +1,340 @@ + + + + + +StackMapFrameVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification.visitor
+

Interface StackMapFrameVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+ + + + + + + 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..9325eaa9f --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/VerificationTypeVisitor.html @@ -0,0 +1,839 @@ + + + + + +VerificationTypeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.preverification.visitor
+

Interface VerificationTypeVisitor

+
+
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/preverification/visitor/package-frame.html b/api/proguard/classfile/attribute/preverification/visitor/package-frame.html new file mode 100644 index 000000000..6af68acb8 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.classfile.attribute.preverification.visitor (ProGuardCORE) + + + + +

proguard.classfile.attribute.preverification.visitor

+ + + 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..be17bf6fc --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/package-summary.html @@ -0,0 +1,156 @@ + + + + + +proguard.classfile.attribute.preverification.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.preverification.visitor

+
+
This package contains visitors for stack map attributes and their components.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.preverification.visitor Description

+
This package contains visitors for stack map attributes and their components.
+
+ + + + + + 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..fd4f41133 --- /dev/null +++ b/api/proguard/classfile/attribute/preverification/visitor/package-tree.html @@ -0,0 +1,131 @@ + + + + + +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..3aa08a612 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllAttributeVisitor.html @@ -0,0 +1,473 @@ + + + + + +AllAttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..e6b76f618 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllBootstrapMethodInfoVisitor.html @@ -0,0 +1,312 @@ + + + + + +AllBootstrapMethodInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..2a3330888 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllExceptionInfoVisitor.html @@ -0,0 +1,314 @@ + + + + + +AllExceptionInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..35bca5512 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllInnerClassesInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +AllInnerClassesInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..749460bf6 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllLineNumberInfoVisitor.html @@ -0,0 +1,316 @@ + + + + + +AllLineNumberInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..1e35b867f --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AllRecordComponentInfoVisitor.html @@ -0,0 +1,311 @@ + + + + + +AllRecordComponentInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..c8c7440a7 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeConstantVisitor.html @@ -0,0 +1,321 @@ + + + + + +AttributeConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..cc265b715 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeCounter.html @@ -0,0 +1,312 @@ + + + + + +AttributeCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..a28fde91f --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeNameFilter.html @@ -0,0 +1,1430 @@ + + + + + +AttributeNameFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..f55aad43a --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeProcessingFlagFilter.html @@ -0,0 +1,327 @@ + + + + + +AttributeProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..25e66e67a --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeToClassVisitor.html @@ -0,0 +1,295 @@ + + + + + +AttributeToClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..5062921cf --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/AttributeVisitor.html @@ -0,0 +1,1301 @@ + + + + + +AttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..4d7dd96dc --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/BootstrapMethodInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +BootstrapMethodInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..e104befb5 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/CodeAttributeToMethodVisitor.html @@ -0,0 +1,317 @@ + + + + + +CodeAttributeToMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..3e1d2b2d0 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/DebugAttributeVisitor.html @@ -0,0 +1,1442 @@ + + + + + +DebugAttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..ae104e639 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/ExceptionInfoVisitor.html @@ -0,0 +1,231 @@ + + + + + +ExceptionInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..dd5838085 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/InnerClassesInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +InnerClassesInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

Interface InnerClassesInfoVisitor

+
+
+
+ +
+
+ +
+
+
    +
  • + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html b/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html new file mode 100644 index 000000000..92378edbd --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/InstructionToAttributeVisitor.html @@ -0,0 +1,301 @@ + + + + + +InstructionToAttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..b68c5b55c --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LineNumberInfoVisitor.html @@ -0,0 +1,231 @@ + + + + + +LineNumberInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..96b38f493 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LineNumberRangeFinder.html @@ -0,0 +1,333 @@ + + + + + +LineNumberRangeFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..ea9e79412 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LocalVariableInfoVisitor.html @@ -0,0 +1,231 @@ + + + + + +LocalVariableInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..8df14b45e --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/LocalVariableTypeInfoVisitor.html @@ -0,0 +1,231 @@ + + + + + +LocalVariableTypeInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..eaf188d4b --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.StackSizeConsumer.html @@ -0,0 +1,227 @@ + + + + + +MaxStackSizeComputer.StackSizeConsumer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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 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..2f58da825 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MaxStackSizeComputer.html @@ -0,0 +1,593 @@ + + + + + +MaxStackSizeComputer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..a36f62867 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/MultiAttributeVisitor.html @@ -0,0 +1,1400 @@ + + + + + +MultiAttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..599f911c1 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/NonEmptyAttributeFilter.html @@ -0,0 +1,1383 @@ + + + + + +NonEmptyAttributeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..0777446af --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/ParameterInfoVisitor.html @@ -0,0 +1,231 @@ + + + + + +ParameterInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..52b5cfb16 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/RecordComponentInfoVisitor.html @@ -0,0 +1,227 @@ + + + + + +RecordComponentInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..8a09ea1f0 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/RequiredAttributeFilter.html @@ -0,0 +1,1406 @@ + + + + + +RequiredAttributeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..a3ffcb21c --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/SingleTimeAttributeVisitor.html @@ -0,0 +1,1378 @@ + + + + + +SingleTimeAttributeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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..b359640ef --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/StackSizeComputer.html @@ -0,0 +1,390 @@ + + + + + +StackSizeComputer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.attribute.visitor
+

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-frame.html b/api/proguard/classfile/attribute/visitor/package-frame.html new file mode 100644 index 000000000..d33d0a5fe --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/package-frame.html @@ -0,0 +1,52 @@ + + + + + +proguard.classfile.attribute.visitor (ProGuardCORE) + + + + +

proguard.classfile.attribute.visitor

+ + + 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..81e89b753 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/package-summary.html @@ -0,0 +1,357 @@ + + + + + +proguard.classfile.attribute.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.attribute.visitor

+
+
This package contains visitors for attributes and their components.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.attribute.visitor Description

+
This package contains visitors for attributes and their components.
+
+ + + + + + 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..ff5f9e5f5 --- /dev/null +++ b/api/proguard/classfile/attribute/visitor/package-tree.html @@ -0,0 +1,167 @@ + + + + + +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..d281aec79 --- /dev/null +++ b/api/proguard/classfile/constant/AnyMethodrefConstant.html @@ -0,0 +1,433 @@ + + + + + +AnyMethodrefConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..ace71dc8c --- /dev/null +++ b/api/proguard/classfile/constant/ClassConstant.html @@ -0,0 +1,539 @@ + + + + + +ClassConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..38ffa6b4a --- /dev/null +++ b/api/proguard/classfile/constant/Constant.html @@ -0,0 +1,668 @@ + + + + + +Constant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

Class Constant

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/constant/DoubleConstant.html b/api/proguard/classfile/constant/DoubleConstant.html new file mode 100644 index 000000000..453ecb135 --- /dev/null +++ b/api/proguard/classfile/constant/DoubleConstant.html @@ -0,0 +1,498 @@ + + + + + +DoubleConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..70d3caaee --- /dev/null +++ b/api/proguard/classfile/constant/DynamicConstant.html @@ -0,0 +1,606 @@ + + + + + +DynamicConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..e173801b3 --- /dev/null +++ b/api/proguard/classfile/constant/FieldrefConstant.html @@ -0,0 +1,504 @@ + + + + + +FieldrefConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..4a8180624 --- /dev/null +++ b/api/proguard/classfile/constant/FloatConstant.html @@ -0,0 +1,498 @@ + + + + + +FloatConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..102c6e0dd --- /dev/null +++ b/api/proguard/classfile/constant/IntegerConstant.html @@ -0,0 +1,498 @@ + + + + + +IntegerConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..492c31ac2 --- /dev/null +++ b/api/proguard/classfile/constant/InterfaceMethodrefConstant.html @@ -0,0 +1,455 @@ + + + + + +InterfaceMethodrefConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..b649824ef --- /dev/null +++ b/api/proguard/classfile/constant/InvokeDynamicConstant.html @@ -0,0 +1,606 @@ + + + + + +InvokeDynamicConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..2bbdc063e --- /dev/null +++ b/api/proguard/classfile/constant/LongConstant.html @@ -0,0 +1,498 @@ + + + + + +LongConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..a68f29a04 --- /dev/null +++ b/api/proguard/classfile/constant/MethodHandleConstant.html @@ -0,0 +1,760 @@ + + + + + +MethodHandleConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..c617094bc --- /dev/null +++ b/api/proguard/classfile/constant/MethodTypeConstant.html @@ -0,0 +1,556 @@ + + + + + +MethodTypeConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..ccd6844c8 --- /dev/null +++ b/api/proguard/classfile/constant/MethodrefConstant.html @@ -0,0 +1,455 @@ + + + + + +MethodrefConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..13c8b571e --- /dev/null +++ b/api/proguard/classfile/constant/ModuleConstant.html @@ -0,0 +1,486 @@ + + + + + +ModuleConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..dd1f41009 --- /dev/null +++ b/api/proguard/classfile/constant/NameAndTypeConstant.html @@ -0,0 +1,582 @@ + + + + + +NameAndTypeConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..af073affd --- /dev/null +++ b/api/proguard/classfile/constant/PackageConstant.html @@ -0,0 +1,486 @@ + + + + + +PackageConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..e2c589cbe --- /dev/null +++ b/api/proguard/classfile/constant/PrimitiveArrayConstant.html @@ -0,0 +1,551 @@ + + + + + +PrimitiveArrayConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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.
        +
      • +
      + + + +
        +
      • +

        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..e6836a1bc --- /dev/null +++ b/api/proguard/classfile/constant/RefConstant.html @@ -0,0 +1,556 @@ + + + + + +RefConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..594b3b3eb --- /dev/null +++ b/api/proguard/classfile/constant/StringConstant.html @@ -0,0 +1,683 @@ + + + + + +StringConstant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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..176391f77 --- /dev/null +++ b/api/proguard/classfile/constant/Utf8Constant.html @@ -0,0 +1,502 @@ + + + + + +Utf8Constant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant
+

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-frame.html b/api/proguard/classfile/constant/package-frame.html new file mode 100644 index 000000000..dd20f56bc --- /dev/null +++ b/api/proguard/classfile/constant/package-frame.html @@ -0,0 +1,39 @@ + + + + + +proguard.classfile.constant (ProGuardCORE) + + + + +

proguard.classfile.constant

+ + + diff --git a/api/proguard/classfile/constant/package-summary.html b/api/proguard/classfile/constant/package-summary.html new file mode 100644 index 000000000..b146943d4 --- /dev/null +++ b/api/proguard/classfile/constant/package-summary.html @@ -0,0 +1,272 @@ + + + + + +proguard.classfile.constant (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.constant

+
+
This package contains classes to represent the constants of constant pools in +class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.constant Description

+
This package contains classes to represent the constants of constant pools in +class files.
+
+ + + + + + diff --git a/api/proguard/classfile/constant/package-tree.html b/api/proguard/classfile/constant/package-tree.html new file mode 100644 index 000000000..7121bd0ad --- /dev/null +++ b/api/proguard/classfile/constant/package-tree.html @@ -0,0 +1,167 @@ + + + + + +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..7deee186f --- /dev/null +++ b/api/proguard/classfile/constant/visitor/AllBootstrapMethodArgumentVisitor.html @@ -0,0 +1,286 @@ + + + + + +AllBootstrapMethodArgumentVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

Class AllBootstrapMethodArgumentVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.constant.visitor.AllBootstrapMethodArgumentVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/constant/visitor/AllConstantVisitor.html b/api/proguard/classfile/constant/visitor/AllConstantVisitor.html new file mode 100644 index 000000000..8d5702837 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/AllConstantVisitor.html @@ -0,0 +1,308 @@ + + + + + +AllConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..6a3f31261 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/BootstrapMethodHandleTraveler.html @@ -0,0 +1,404 @@ + + + + + +BootstrapMethodHandleTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..60a251456 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantCounter.html @@ -0,0 +1,312 @@ + + + + + +ConstantCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..0e187e983 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantStringBuilder.html @@ -0,0 +1,642 @@ + + + + + +ConstantStringBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..781bc4100 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantTagFilter.html @@ -0,0 +1,324 @@ + + + + + +ConstantTagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..ae40ed520 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ConstantVisitor.html @@ -0,0 +1,541 @@ + + + + + +ConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..b93ed2e04 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/ExceptClassConstantFilter.html @@ -0,0 +1,297 @@ + + + + + +ExceptClassConstantFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..6c8d4f98c --- /dev/null +++ b/api/proguard/classfile/constant/visitor/MethodrefTraveler.html @@ -0,0 +1,315 @@ + + + + + +MethodrefTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..0a10d1264 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantElementVisitor.html @@ -0,0 +1,383 @@ + + + + + +PrimitiveArrayConstantElementVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..d22fde0a9 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/PrimitiveArrayConstantVisitor.html @@ -0,0 +1,364 @@ + + + + + +PrimitiveArrayConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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..a33de08d9 --- /dev/null +++ b/api/proguard/classfile/constant/visitor/SuperClassConstantVisitor.html @@ -0,0 +1,315 @@ + + + + + +SuperClassConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.constant.visitor
+

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-frame.html b/api/proguard/classfile/constant/visitor/package-frame.html new file mode 100644 index 000000000..5fac7ec3d --- /dev/null +++ b/api/proguard/classfile/constant/visitor/package-frame.html @@ -0,0 +1,33 @@ + + + + + +proguard.classfile.constant.visitor (ProGuardCORE) + + + + +

proguard.classfile.constant.visitor

+ + + 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..5145b07fa --- /dev/null +++ b/api/proguard/classfile/constant/visitor/package-summary.html @@ -0,0 +1,235 @@ + + + + + +proguard.classfile.constant.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.constant.visitor

+
+
This package contains visitors for class constants.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.constant.visitor Description

+
This package contains visitors for class constants.
+
+ + + + + + 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..bf8e4e94c --- /dev/null +++ b/api/proguard/classfile/constant/visitor/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..7ff7aa852 --- /dev/null +++ b/api/proguard/classfile/editor/AccessFixer.html @@ -0,0 +1,308 @@ + + + + + +AccessFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..ac9ec31c9 --- /dev/null +++ b/api/proguard/classfile/editor/AnnotationAdder.html @@ -0,0 +1,361 @@ + + + + + +AnnotationAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..99cd93a99 --- /dev/null +++ b/api/proguard/classfile/editor/AnnotationsAttributeEditor.html @@ -0,0 +1,310 @@ + + + + + +AnnotationsAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      voidaddAnnotation(Annotation annotation) +
      Adds a given annotation to the annotations attribute.
      +
      voiddeleteAnnotation(Annotation annotation) +
      Deletes a given annotation from the annotations attribute.
      +
      voiddeleteAnnotation(int index) +
      Deletes the annotation at the given idnex 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..1da510669 --- /dev/null +++ b/api/proguard/classfile/editor/AttributeAdder.html @@ -0,0 +1,880 @@ + + + + + +AttributeAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..b07f9abf4 --- /dev/null +++ b/api/proguard/classfile/editor/AttributeSorter.html @@ -0,0 +1,412 @@ + + + + + +AttributeSorter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..e6b69540a --- /dev/null +++ b/api/proguard/classfile/editor/AttributesEditor.html @@ -0,0 +1,351 @@ + + + + + +AttributesEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..b2a5ef784 --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodInfoAdder.html @@ -0,0 +1,304 @@ + + + + + +BootstrapMethodInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..d610552df --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodRemapper.html @@ -0,0 +1,359 @@ + + + + + +BootstrapMethodRemapper (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..e9a6c45bf --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeAdder.html @@ -0,0 +1,302 @@ + + + + + +BootstrapMethodsAttributeAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..baf7d5a06 --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeEditor.html @@ -0,0 +1,298 @@ + + + + + +BootstrapMethodsAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..2a38d749c --- /dev/null +++ b/api/proguard/classfile/editor/BootstrapMethodsAttributeShrinker.html @@ -0,0 +1,490 @@ + + + + + +BootstrapMethodsAttributeShrinker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..999c8824b --- /dev/null +++ b/api/proguard/classfile/editor/BridgeMethodFixer.html @@ -0,0 +1,435 @@ + + + + + +BridgeMethodFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..9f9ee18cf --- /dev/null +++ b/api/proguard/classfile/editor/ClassBuilder.CodeBuilder.html @@ -0,0 +1,223 @@ + + + + + +ClassBuilder.CodeBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..3405d2674 --- /dev/null +++ b/api/proguard/classfile/editor/ClassBuilder.html @@ -0,0 +1,785 @@ + + + + + +ClassBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 TypeClass and Description
      static interface ClassBuilder.CodeBuilder +
      This functional interface provides a code attribute composer to its implementation.
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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(Clazz interfaceClass) +
      Adds a new interface 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.
      +
      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..93f9c1621 --- /dev/null +++ b/api/proguard/classfile/editor/ClassEditor.html @@ -0,0 +1,358 @@ + + + + + +ClassEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..37762709a --- /dev/null +++ b/api/proguard/classfile/editor/ClassElementSorter.html @@ -0,0 +1,329 @@ + + + + + +ClassElementSorter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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..3df7fa760 --- /dev/null +++ b/api/proguard/classfile/editor/ClassEstimates.html @@ -0,0 +1,429 @@ + + + + + +ClassEstimates (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..db1d740cc --- /dev/null +++ b/api/proguard/classfile/editor/ClassMemberSorter.html @@ -0,0 +1,334 @@ + + + + + +ClassMemberSorter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      ClassMemberSorter() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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

        +comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, 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..71a7281a1 --- /dev/null +++ b/api/proguard/classfile/editor/ClassReferenceFixer.NameGenerationStrategy.html @@ -0,0 +1,242 @@ + + + + + +ClassReferenceFixer.NameGenerationStrategy (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 TypeMethod and Description
      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..9348d5518 --- /dev/null +++ b/api/proguard/classfile/editor/ClassReferenceFixer.html @@ -0,0 +1,1075 @@ + + + + + +ClassReferenceFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..9149ac6dd --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeComposer.html @@ -0,0 +1,1484 @@ + + + + + +CodeAttributeComposer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..24593547d --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditor.Label.html @@ -0,0 +1,534 @@ + + + + + +CodeAttributeEditor.Label (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..5f4a8798c --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditor.html @@ -0,0 +1,1707 @@ + + + + + +CodeAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..87303f64f --- /dev/null +++ b/api/proguard/classfile/editor/CodeAttributeEditorResetter.html @@ -0,0 +1,321 @@ + + + + + +CodeAttributeEditorResetter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..3d19c4c2b --- /dev/null +++ b/api/proguard/classfile/editor/CompactCodeAttributeComposer.Label.html @@ -0,0 +1,199 @@ + + + + + +CompactCodeAttributeComposer.Label (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..ffb587441 --- /dev/null +++ b/api/proguard/classfile/editor/CompactCodeAttributeComposer.html @@ -0,0 +1,5205 @@ + + + + + +CompactCodeAttributeComposer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..63bd96f21 --- /dev/null +++ b/api/proguard/classfile/editor/ConstantAdder.html @@ -0,0 +1,671 @@ + + + + + +ConstantAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..5c5c18600 --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolEditor.html @@ -0,0 +1,1356 @@ + + + + + +ConstantPoolEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      intaddClassConstant(Clazz referencedClass) +
      Finds or creates a ClassConstant constant pool entry for the given class.
      +
      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.
      +
      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(Clazz referencedClass, + Field referencedField) +
      Finds or creates a FieldrefConstant constant pool entry for the given class and field.
      +
      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.
      +
      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(Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a InterfaceMethodrefConstant constant pool entry for the given class and + method.
      +
      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.
      +
      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(Clazz referencedClass, + Method referencedMethod) +
      Finds or creates a MethodrefConstant constant pool entry for the given class and method.
      +
      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.
      +
      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..2aafe499e --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolRemapper.html @@ -0,0 +1,1961 @@ + + + + + +ConstantPoolRemapper (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..862c645cd --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolShrinker.html @@ -0,0 +1,1688 @@ + + + + + +ConstantPoolShrinker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..6bb51b8ab --- /dev/null +++ b/api/proguard/classfile/editor/ConstantPoolSorter.html @@ -0,0 +1,309 @@ + + + + + +ConstantPoolSorter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..f7409531d --- /dev/null +++ b/api/proguard/classfile/editor/ElementValueAdder.html @@ -0,0 +1,423 @@ + + + + + +ElementValueAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..56d5d2dba --- /dev/null +++ b/api/proguard/classfile/editor/ElementValuesEditor.html @@ -0,0 +1,318 @@ + + + + + +ElementValuesEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..21724d6b9 --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionAdder.html @@ -0,0 +1,293 @@ + + + + + +ExceptionAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/editor/ExceptionInfoAdder.html b/api/proguard/classfile/editor/ExceptionInfoAdder.html new file mode 100644 index 000000000..a97727021 --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionInfoAdder.html @@ -0,0 +1,290 @@ + + + + + +ExceptionInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..56f329503 --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionInfoEditor.html @@ -0,0 +1,276 @@ + + + + + +ExceptionInfoEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..569f35c95 --- /dev/null +++ b/api/proguard/classfile/editor/ExceptionsAttributeEditor.html @@ -0,0 +1,278 @@ + + + + + +ExceptionsAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..722d4e693 --- /dev/null +++ b/api/proguard/classfile/editor/InitializerEditor.CodeBuilder.html @@ -0,0 +1,223 @@ + + + + + +InitializerEditor.CodeBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..d5347ff7c --- /dev/null +++ b/api/proguard/classfile/editor/InitializerEditor.html @@ -0,0 +1,452 @@ + + + + + +InitializerEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 it's 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 it's 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..eb48feb7a --- /dev/null +++ b/api/proguard/classfile/editor/InnerClassesAccessFixer.html @@ -0,0 +1,377 @@ + + + + + +InnerClassesAccessFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..ee16bb4fd --- /dev/null +++ b/api/proguard/classfile/editor/InnerClassesAttributeEditor.html @@ -0,0 +1,298 @@ + + + + + +InnerClassesAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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..8930b33db --- /dev/null +++ b/api/proguard/classfile/editor/InstructionAdder.html @@ -0,0 +1,329 @@ + + + + + +InstructionAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..c4ebcb966 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceBuilder.html @@ -0,0 +1,5362 @@ + + + + + +InstructionSequenceBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..869145647 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceReplacer.Label.html @@ -0,0 +1,493 @@ + + + + + +InstructionSequenceReplacer.Label (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..916d8e12d --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequenceReplacer.html @@ -0,0 +1,1369 @@ + + + + + +InstructionSequenceReplacer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..51e57e2a6 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionSequencesReplacer.html @@ -0,0 +1,321 @@ + + + + + +InstructionSequencesReplacer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..686ecd066 --- /dev/null +++ b/api/proguard/classfile/editor/InstructionWriter.html @@ -0,0 +1,470 @@ + + + + + +InstructionWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..82757c377 --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceAdder.html @@ -0,0 +1,290 @@ + + + + + +InterfaceAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..2b7146f82 --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceDeleter.html @@ -0,0 +1,370 @@ + + + + + +InterfaceDeleter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..4d4a404c8 --- /dev/null +++ b/api/proguard/classfile/editor/InterfaceSorter.html @@ -0,0 +1,357 @@ + + + + + +InterfaceSorter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..2aff57f36 --- /dev/null +++ b/api/proguard/classfile/editor/InterfacesEditor.html @@ -0,0 +1,292 @@ + + + + + +InterfacesEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..ede192105 --- /dev/null +++ b/api/proguard/classfile/editor/LibraryClassBuilder.html @@ -0,0 +1,622 @@ + + + + + +LibraryClassBuilder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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.
      +
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..7f72bed08 --- /dev/null +++ b/api/proguard/classfile/editor/LibraryClassEditor.html @@ -0,0 +1,360 @@ + + + + + +LibraryClassEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..1cad5a40d --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberInfoAdder.html @@ -0,0 +1,345 @@ + + + + + +LineNumberInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..4df98279e --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberTableAttributeEditor.html @@ -0,0 +1,278 @@ + + + + + +LineNumberTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..fa721c5eb --- /dev/null +++ b/api/proguard/classfile/editor/LineNumberTableAttributeTrimmer.html @@ -0,0 +1,315 @@ + + + + + +LineNumberTableAttributeTrimmer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

Class LineNumberTableAttributeTrimmer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.LineNumberTableAttributeTrimmer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    AttributeVisitor
    +
    +
    +
    +
    public class LineNumberTableAttributeTrimmer
    +extends java.lang.Object
    +implements AttributeVisitor
    +
    This AttributeVisitor trims the line number table attributes that it visits.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/editor/LocalVariableInfoAdder.html b/api/proguard/classfile/editor/LocalVariableInfoAdder.html new file mode 100644 index 000000000..fff28b59a --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableInfoAdder.html @@ -0,0 +1,292 @@ + + + + + +LocalVariableInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..79528fe80 --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTableAttributeEditor.html @@ -0,0 +1,278 @@ + + + + + +LocalVariableTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 TypeMethod and Description
      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..3ad8e2d85 --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTypeInfoAdder.html @@ -0,0 +1,292 @@ + + + + + +LocalVariableTypeInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..c152bfbf2 --- /dev/null +++ b/api/proguard/classfile/editor/LocalVariableTypeTableAttributeEditor.html @@ -0,0 +1,278 @@ + + + + + +LocalVariableTypeTableAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 TypeMethod and Description
      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..43fdc2326 --- /dev/null +++ b/api/proguard/classfile/editor/MemberAdder.html @@ -0,0 +1,382 @@ + + + + + +MemberAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..ca2c5ab9a --- /dev/null +++ b/api/proguard/classfile/editor/MemberReferenceFixer.html @@ -0,0 +1,791 @@ + + + + + +MemberReferenceFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..f273123d6 --- /dev/null +++ b/api/proguard/classfile/editor/MemberRemover.html @@ -0,0 +1,392 @@ + + + + + +MemberRemover (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..d3ce49f37 --- /dev/null +++ b/api/proguard/classfile/editor/MethodCopier.html @@ -0,0 +1,451 @@ + + + + + +MethodCopier (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..0c2964a8a --- /dev/null +++ b/api/proguard/classfile/editor/MethodInvocationFixer.html @@ -0,0 +1,450 @@ + + + + + +MethodInvocationFixer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..849c2756c --- /dev/null +++ b/api/proguard/classfile/editor/NameAndTypeShrinker.html @@ -0,0 +1,432 @@ + + + + + +NameAndTypeShrinker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..cc85567f2 --- /dev/null +++ b/api/proguard/classfile/editor/NamedAttributeDeleter.html @@ -0,0 +1,405 @@ + + + + + +NamedAttributeDeleter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..e7e58f4c8 --- /dev/null +++ b/api/proguard/classfile/editor/NestMemberAdder.html @@ -0,0 +1,346 @@ + + + + + +NestMemberAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..119e224f4 --- /dev/null +++ b/api/proguard/classfile/editor/ParameterAnnotationsAttributeEditor.html @@ -0,0 +1,316 @@ + + + + + +ParameterAnnotationsAttributeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 TypeMethod and Description
      voidaddAnnotation(int parameterIndex, + Annotation annotation) +
      Adds a given annotation to the annotations attribute.
      +
      voiddeleteAnnotation(int parameterIndex, + Annotation annotation) +
      Deletes a given annotation from the annotations attribute.
      +
      voiddeleteAnnotation(int parameterIndex, + int annotationIndex) +
      Deletes the annotation at the given index 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..44c413a27 --- /dev/null +++ b/api/proguard/classfile/editor/ParameterInfoAdder.html @@ -0,0 +1,292 @@ + + + + + +ParameterInfoAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

Class ParameterInfoAdder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.ParameterInfoAdder
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..2c8c864fc --- /dev/null +++ b/api/proguard/classfile/editor/PeepholeEditor.html @@ -0,0 +1,353 @@ + + + + + +PeepholeEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..b99a0469b --- /dev/null +++ b/api/proguard/classfile/editor/PermittedSubclassAdder.html @@ -0,0 +1,348 @@ + + + + + +PermittedSubclassAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..833e6af81 --- /dev/null +++ b/api/proguard/classfile/editor/StackSizeUpdater.html @@ -0,0 +1,314 @@ + + + + + +StackSizeUpdater (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..969024f60 --- /dev/null +++ b/api/proguard/classfile/editor/SubclassAdder.html @@ -0,0 +1,294 @@ + + + + + +SubclassAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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..16a63ff0b --- /dev/null +++ b/api/proguard/classfile/editor/SubclassRemover.html @@ -0,0 +1,294 @@ + + + + + +SubclassRemover (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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..907670c5a --- /dev/null +++ b/api/proguard/classfile/editor/SubclassToAdder.html @@ -0,0 +1,294 @@ + + + + + +SubclassToAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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 
      Constructor and Description
      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..bf89ed66d --- /dev/null +++ b/api/proguard/classfile/editor/TargetInfoCopier.html @@ -0,0 +1,508 @@ + + + + + +TargetInfoCopier (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..5b4ac2a7e --- /dev/null +++ b/api/proguard/classfile/editor/TypeAnnotationAdder.html @@ -0,0 +1,319 @@ + + + + + +TypeAnnotationAdder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..88b6d55a5 --- /dev/null +++ b/api/proguard/classfile/editor/Utf8Shrinker.html @@ -0,0 +1,1252 @@ + + + + + +Utf8Shrinker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..741d8b941 --- /dev/null +++ b/api/proguard/classfile/editor/VariableCleaner.html @@ -0,0 +1,361 @@ + + + + + +VariableCleaner (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..ac77f8923 --- /dev/null +++ b/api/proguard/classfile/editor/VariableEditor.html @@ -0,0 +1,370 @@ + + + + + +VariableEditor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..c50c4e9ee --- /dev/null +++ b/api/proguard/classfile/editor/VariableRemapper.html @@ -0,0 +1,646 @@ + + + + + +VariableRemapper (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

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..f59fa1b34 --- /dev/null +++ b/api/proguard/classfile/editor/VariableSizeUpdater.html @@ -0,0 +1,376 @@ + + + + + +VariableSizeUpdater (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.editor
+

Class VariableSizeUpdater

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.editor.VariableSizeUpdater
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/editor/package-frame.html b/api/proguard/classfile/editor/package-frame.html new file mode 100644 index 000000000..1c422e206 --- /dev/null +++ b/api/proguard/classfile/editor/package-frame.html @@ -0,0 +1,103 @@ + + + + + +proguard.classfile.editor (ProGuardCORE) + + + + +

proguard.classfile.editor

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/api/proguard/classfile/editor/package-summary.html b/api/proguard/classfile/editor/package-summary.html new file mode 100644 index 000000000..4a58f0159 --- /dev/null +++ b/api/proguard/classfile/editor/package-summary.html @@ -0,0 +1,696 @@ + + + + + +proguard.classfile.editor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.editor

+
+
This package contains visitors to edit byte code.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.editor Description

+
This package contains visitors to edit byte code.
+
+ + + + + + diff --git a/api/proguard/classfile/editor/package-tree.html b/api/proguard/classfile/editor/package-tree.html new file mode 100644 index 000000000..b34efd791 --- /dev/null +++ b/api/proguard/classfile/editor/package-tree.html @@ -0,0 +1,227 @@ + + + + + +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..e822a7e1d --- /dev/null +++ b/api/proguard/classfile/exception/NegativeStackSizeException.html @@ -0,0 +1,355 @@ + + + + + +NegativeStackSizeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.exception
+

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-frame.html b/api/proguard/classfile/exception/package-frame.html new file mode 100644 index 000000000..ecda69314 --- /dev/null +++ b/api/proguard/classfile/exception/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.classfile.exception (ProGuardCORE) + + + + +

proguard.classfile.exception

+
+

Exceptions

+ +
+ + diff --git a/api/proguard/classfile/exception/package-summary.html b/api/proguard/classfile/exception/package-summary.html new file mode 100644 index 000000000..cf1fa24b6 --- /dev/null +++ b/api/proguard/classfile/exception/package-summary.html @@ -0,0 +1,139 @@ + + + + + +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..062bb6ca8 --- /dev/null +++ b/api/proguard/classfile/exception/package-tree.html @@ -0,0 +1,150 @@ + + + + + +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..2d8f2c1a4 --- /dev/null +++ b/api/proguard/classfile/instruction/BranchInstruction.html @@ -0,0 +1,567 @@ + + + + + +BranchInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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..03caf7972 --- /dev/null +++ b/api/proguard/classfile/instruction/ConstantInstruction.html @@ -0,0 +1,1019 @@ + + + + + +ConstantInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

Class ConstantInstruction

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/instruction/Instruction.html b/api/proguard/classfile/instruction/Instruction.html new file mode 100644 index 000000000..e7fe4dcc5 --- /dev/null +++ b/api/proguard/classfile/instruction/Instruction.html @@ -0,0 +1,4489 @@ + + + + + +Instruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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..b1e93d96d --- /dev/null +++ b/api/proguard/classfile/instruction/InstructionFactory.html @@ -0,0 +1,308 @@ + + + + + +InstructionFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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 
      Constructor and Description
      InstructionFactory() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..2d54366b0 --- /dev/null +++ b/api/proguard/classfile/instruction/InstructionUtil.html @@ -0,0 +1,337 @@ + + + + + +InstructionUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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 
      Constructor and Description
      InstructionUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..593d77ff3 --- /dev/null +++ b/api/proguard/classfile/instruction/LookUpSwitchInstruction.html @@ -0,0 +1,530 @@ + + + + + +LookUpSwitchInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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
        +
        +
      • +
      + + + + + + + + + + + + +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/instruction/SimpleInstruction.html b/api/proguard/classfile/instruction/SimpleInstruction.html new file mode 100644 index 000000000..18cb46d94 --- /dev/null +++ b/api/proguard/classfile/instruction/SimpleInstruction.html @@ -0,0 +1,601 @@ + + + + + +SimpleInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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..275486690 --- /dev/null +++ b/api/proguard/classfile/instruction/SwitchInstruction.html @@ -0,0 +1,445 @@ + + + + + +SwitchInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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..24f72ab28 --- /dev/null +++ b/api/proguard/classfile/instruction/TableSwitchInstruction.html @@ -0,0 +1,545 @@ + + + + + +TableSwitchInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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
        +
        +
      • +
      + + + + + + + + + + + + +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/instruction/VariableInstruction.html b/api/proguard/classfile/instruction/VariableInstruction.html new file mode 100644 index 000000000..de70dd854 --- /dev/null +++ b/api/proguard/classfile/instruction/VariableInstruction.html @@ -0,0 +1,665 @@ + + + + + +VariableInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction
+

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-frame.html b/api/proguard/classfile/instruction/package-frame.html new file mode 100644 index 000000000..28d72b1f6 --- /dev/null +++ b/api/proguard/classfile/instruction/package-frame.html @@ -0,0 +1,28 @@ + + + + + +proguard.classfile.instruction (ProGuardCORE) + + + + +

proguard.classfile.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..9321affc1 --- /dev/null +++ b/api/proguard/classfile/instruction/package-summary.html @@ -0,0 +1,212 @@ + + + + + +proguard.classfile.instruction (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.instruction

+
+
This package contains classes to represent Java bytecode instructions.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.instruction Description

+
This package contains classes to represent Java bytecode instructions. +

+Not every instruction currently has its own class. Only groups of instructions +that refer to the constant pool get their own representations. +

+While the package is sufficient for the current needs of the ProGuard +application, it may very well be reorganised and extended in the future.

+
+ + + + + + diff --git a/api/proguard/classfile/instruction/package-tree.html b/api/proguard/classfile/instruction/package-tree.html new file mode 100644 index 000000000..1b47fe4f0 --- /dev/null +++ b/api/proguard/classfile/instruction/package-tree.html @@ -0,0 +1,149 @@ + + + + + +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..5d6687cb9 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/AllInstructionVisitor.html @@ -0,0 +1,314 @@ + + + + + +AllInstructionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

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..a57f783f5 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionConstantVisitor.html @@ -0,0 +1,331 @@ + + + + + +InstructionConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

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..96045c96b --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionCounter.html @@ -0,0 +1,319 @@ + + + + + +InstructionCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

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..af95b8cbc --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionOpCodeFilter.html @@ -0,0 +1,317 @@ + + + + + +InstructionOpCodeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

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..bbc066ee8 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/InstructionVisitor.html @@ -0,0 +1,386 @@ + + + + + +InstructionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

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..7e44bf391 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/MultiInstructionVisitor.html @@ -0,0 +1,448 @@ + + + + + +MultiInstructionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.instruction.visitor
+

Class MultiInstructionVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.instruction.visitor.MultiInstructionVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/instruction/visitor/package-frame.html b/api/proguard/classfile/instruction/visitor/package-frame.html new file mode 100644 index 000000000..e1f4e501f --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/package-frame.html @@ -0,0 +1,27 @@ + + + + + +proguard.classfile.instruction.visitor (ProGuardCORE) + + + + +

proguard.classfile.instruction.visitor

+ + + 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..52e1bf4c7 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/package-summary.html @@ -0,0 +1,195 @@ + + + + + +proguard.classfile.instruction.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.instruction.visitor

+
+
This package contains visitors for instructions.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.instruction.visitor Description

+
This package contains visitors for instructions.
+
+ + + + + + 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..cbac231d9 --- /dev/null +++ b/api/proguard/classfile/instruction/visitor/package-tree.html @@ -0,0 +1,142 @@ + + + + + +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..c6cde4825 --- /dev/null +++ b/api/proguard/classfile/io/LibraryClassReader.KotlinMetadataElementValueConsumer.html @@ -0,0 +1,234 @@ + + + + + +LibraryClassReader.KotlinMetadataElementValueConsumer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io
+

Interface LibraryClassReader.KotlinMetadataElementValueConsumer

+
+
+
+
    +
  • +
    +
    Enclosing class:
    +
    LibraryClassReader
    +
    +
    +
    +
    public static interface LibraryClassReader.KotlinMetadataElementValueConsumer
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..1d20f20a2 --- /dev/null +++ b/api/proguard/classfile/io/LibraryClassReader.html @@ -0,0 +1,716 @@ + + + + + +LibraryClassReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io
+

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..b97c6e4ab --- /dev/null +++ b/api/proguard/classfile/io/ProgramClassReader.html @@ -0,0 +1,2274 @@ + + + + + +ProgramClassReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io
+

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..acceeed52 --- /dev/null +++ b/api/proguard/classfile/io/ProgramClassWriter.html @@ -0,0 +1,437 @@ + + + + + +ProgramClassWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io
+

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..0e71d5f7d --- /dev/null +++ b/api/proguard/classfile/io/kotlin/KotlinMetadataWriter.html @@ -0,0 +1,469 @@ + + + + + +KotlinMetadataWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io.kotlin
+

Class KotlinMetadataWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.io.kotlin.KotlinMetadataWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/io/kotlin/package-frame.html b/api/proguard/classfile/io/kotlin/package-frame.html new file mode 100644 index 000000000..0c290df9e --- /dev/null +++ b/api/proguard/classfile/io/kotlin/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.classfile.io.kotlin (ProGuardCORE) + + + + +

proguard.classfile.io.kotlin

+
+

Classes

+ +
+ + 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..b89b93718 --- /dev/null +++ b/api/proguard/classfile/io/kotlin/package-summary.html @@ -0,0 +1,142 @@ + + + + + +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..238d86417 --- /dev/null +++ b/api/proguard/classfile/io/kotlin/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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-frame.html b/api/proguard/classfile/io/package-frame.html new file mode 100644 index 000000000..abf7e2777 --- /dev/null +++ b/api/proguard/classfile/io/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.classfile.io (ProGuardCORE) + + + + +

proguard.classfile.io

+ + + diff --git a/api/proguard/classfile/io/package-summary.html b/api/proguard/classfile/io/package-summary.html new file mode 100644 index 000000000..5c609b936 --- /dev/null +++ b/api/proguard/classfile/io/package-summary.html @@ -0,0 +1,180 @@ + + + + + +proguard.classfile.io (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.io

+
+
This package contains classes for reading and writing class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.io Description

+
This package contains classes for reading and writing class files.
+
+ + + + + + diff --git a/api/proguard/classfile/io/package-tree.html b/api/proguard/classfile/io/package-tree.html new file mode 100644 index 000000000..f66745d51 --- /dev/null +++ b/api/proguard/classfile/io/package-tree.html @@ -0,0 +1,140 @@ + + + + + +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..6748b8279 --- /dev/null +++ b/api/proguard/classfile/io/visitor/ProcessingFlagDataEntryFilter.html @@ -0,0 +1,291 @@ + + + + + +ProcessingFlagDataEntryFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.io.visitor
+

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 TypeMethod and Description
      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-frame.html b/api/proguard/classfile/io/visitor/package-frame.html new file mode 100644 index 000000000..769882c69 --- /dev/null +++ b/api/proguard/classfile/io/visitor/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.classfile.io.visitor (ProGuardCORE) + + + + +

proguard.classfile.io.visitor

+ + + 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..99acbc44e --- /dev/null +++ b/api/proguard/classfile/io/visitor/package-summary.html @@ -0,0 +1,142 @@ + + + + + +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..7a59b5349 --- /dev/null +++ b/api/proguard/classfile/io/visitor/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..faaba8a24 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotatable.html @@ -0,0 +1,229 @@ + + + + + +KotlinAnnotatable (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..29d843292 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotation.html @@ -0,0 +1,515 @@ + + + + + +KotlinAnnotation (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..6e6bda62d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.AnnotationValue.html @@ -0,0 +1,393 @@ + + + + + +KotlinAnnotationArgument.AnnotationValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..83cdcdb59 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ArrayValue.html @@ -0,0 +1,397 @@ + + + + + +KotlinAnnotationArgument.ArrayValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..53fb1e2e6 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.BooleanValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.BooleanValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..72f54924a --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ByteValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.ByteValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..e1ea4b236 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.CharValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.CharValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..cbf6922a3 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ClassValue.html @@ -0,0 +1,429 @@ + + + + + +KotlinAnnotationArgument.ClassValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..a994ce12c --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.DoubleValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.DoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..eb8bd1e07 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.EnumValue.html @@ -0,0 +1,417 @@ + + + + + +KotlinAnnotationArgument.EnumValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..6e29a421f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.FloatValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.FloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..9750d67aa --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.IntValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.IntValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..88df09b7d --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LiteralValue.html @@ -0,0 +1,382 @@ + + + + + +KotlinAnnotationArgument.LiteralValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..f28bb223a --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.LongValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.LongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..44f6025fc --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ShortValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.ShortValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..e8dac7b90 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.StringValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.StringValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..61217b1a0 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UByteValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.UByteValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..57ecb1899 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UIntValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.UIntValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..895ec8bef --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.ULongValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.ULongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..babf837b1 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.UShortValue.html @@ -0,0 +1,317 @@ + + + + + +KotlinAnnotationArgument.UShortValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..eab488c70 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.Value.html @@ -0,0 +1,234 @@ + + + + + +KotlinAnnotationArgument.Value (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..9c3db177f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinAnnotationArgument.html @@ -0,0 +1,529 @@ + + + + + +KotlinAnnotationArgument (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..abc3b8e86 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinClassKindMetadata.html @@ -0,0 +1,808 @@ + + + + + +KotlinClassKindMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..ed3155f71 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.MODULE.html @@ -0,0 +1,295 @@ + + + + + +KotlinConstants.MODULE (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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 TypeField and Description
      static java.lang.StringFILE_EXPRESSION 
      static java.lang.StringFILE_EXTENSION 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..29c523d40 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.REFLECTION.html @@ -0,0 +1,550 @@ + + + + + +KotlinConstants.REFLECTION (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..a714735b0 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstants.html @@ -0,0 +1,928 @@ + + + + + +KotlinConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..f53366341 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinConstructorMetadata.html @@ -0,0 +1,474 @@ + + + + + +KotlinConstructorMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinConstructorMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinContractMetadata.html b/api/proguard/classfile/kotlin/KotlinContractMetadata.html new file mode 100644 index 000000000..ba00828d5 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinContractMetadata.html @@ -0,0 +1,381 @@ + + + + + +KotlinContractMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinContractMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html b/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html new file mode 100644 index 000000000..cf6b282d0 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinDeclarationContainerMetadata.html @@ -0,0 +1,528 @@ + + + + + +KotlinDeclarationContainerMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..0d7178ec3 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinEffectExpressionMetadata.html @@ -0,0 +1,470 @@ + + + + + +KotlinEffectExpressionMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinEffectExpressionMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinEffectMetadata.html b/api/proguard/classfile/kotlin/KotlinEffectMetadata.html new file mode 100644 index 000000000..83b3a2c06 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinEffectMetadata.html @@ -0,0 +1,435 @@ + + + + + +KotlinEffectMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..330ea0d98 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinFileFacadeKindMetadata.html @@ -0,0 +1,363 @@ + + + + + +KotlinFileFacadeKindMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..825b3806e --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinFunctionMetadata.html @@ -0,0 +1,777 @@ + + + + + +KotlinFunctionMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinFunctionMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinMetadata.html b/api/proguard/classfile/kotlin/KotlinMetadata.html new file mode 100644 index 000000000..1d981aaf5 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMetadata.html @@ -0,0 +1,434 @@ + + + + + +KotlinMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..33814a300 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMetadataVersion.html @@ -0,0 +1,394 @@ + + + + + +KotlinMetadataVersion (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..27a255d4f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMultiFileFacadeKindMetadata.html @@ -0,0 +1,387 @@ + + + + + +KotlinMultiFileFacadeKindMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..4d627fe3b --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinMultiFilePartKindMetadata.html @@ -0,0 +1,404 @@ + + + + + +KotlinMultiFilePartKindMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..43b42321e --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinPropertyMetadata.html @@ -0,0 +1,746 @@ + + + + + +KotlinPropertyMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..9f7a6657f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.Flavor.html @@ -0,0 +1,366 @@ + + + + + +KotlinSyntheticClassKindMetadata.Flavor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Enum KotlinSyntheticClassKindMetadata.Flavor

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

      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..419c8a8fc --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinSyntheticClassKindMetadata.html @@ -0,0 +1,447 @@ + + + + + +KotlinSyntheticClassKindMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinSyntheticClassKindMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html new file mode 100644 index 000000000..a3450ec9f --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeAliasMetadata.html @@ -0,0 +1,540 @@ + + + + + +KotlinTypeAliasMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinTypeAliasMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeMetadata.html new file mode 100644 index 000000000..9a930a75b --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeMetadata.html @@ -0,0 +1,723 @@ + + + + + +KotlinTypeMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinTypeMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html b/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html new file mode 100644 index 000000000..f7482861e --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeParameterMetadata.html @@ -0,0 +1,522 @@ + + + + + +KotlinTypeParameterMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinTypeParameterMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinTypeVariance.html b/api/proguard/classfile/kotlin/KotlinTypeVariance.html new file mode 100644 index 000000000..590612100 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinTypeVariance.html @@ -0,0 +1,363 @@ + + + + + +KotlinTypeVariance (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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 Constant and Description
      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 TypeMethod and Description
      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..1215d96a8 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinValueParameterMetadata.html @@ -0,0 +1,526 @@ + + + + + +KotlinValueParameterMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinValueParameterMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html b/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html new file mode 100644 index 000000000..3f1d14a99 --- /dev/null +++ b/api/proguard/classfile/kotlin/KotlinVersionRequirementMetadata.html @@ -0,0 +1,514 @@ + + + + + +KotlinVersionRequirementMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

Class KotlinVersionRequirementMetadata

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html b/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html new file mode 100644 index 000000000..e2ae7f06b --- /dev/null +++ b/api/proguard/classfile/kotlin/UnsupportedKotlinMetadata.html @@ -0,0 +1,330 @@ + + + + + +UnsupportedKotlinMetadata (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin
+

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..24c319ea5 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinClassFlags.html @@ -0,0 +1,554 @@ + + + + + +KotlinClassFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..89acb9156 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinCommonFlags.html @@ -0,0 +1,281 @@ + + + + + +KotlinCommonFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      booleanhasAnnotations +
      Valid for: class, constructor, function, synthetic function, property, property accessor, + typeAlias, type, type parameter, value parameter
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..9db6931c3 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinConstructorFlags.html @@ -0,0 +1,326 @@ + + + + + +KotlinConstructorFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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..a555a9c8b --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinEffectExpressionFlags.html @@ -0,0 +1,301 @@ + + + + + +KotlinEffectExpressionFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..e76e4417e --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinFlags.html @@ -0,0 +1,171 @@ + + + + + +KotlinFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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..87f9cdb83 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinFunctionFlags.html @@ -0,0 +1,492 @@ + + + + + +KotlinFunctionFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..a59e72912 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinModalityFlags.html @@ -0,0 +1,326 @@ + + + + + +KotlinModalityFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..fbd967956 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinPropertyAccessorFlags.html @@ -0,0 +1,356 @@ + + + + + +KotlinPropertyAccessorFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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..a5d69c9e0 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinPropertyFlags.html @@ -0,0 +1,516 @@ + + + + + +KotlinPropertyFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..8b0014f24 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeAliasFlags.html @@ -0,0 +1,288 @@ + + + + + +KotlinTypeAliasFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

Class KotlinTypeAliasFlags

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.flags.KotlinTypeAliasFlags
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    KotlinFlags
    +
    +
    +
    +
    public class KotlinTypeAliasFlags
    +extends java.lang.Object
    +implements KotlinFlags
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html b/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html new file mode 100644 index 000000000..63e73d47e --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeFlags.html @@ -0,0 +1,314 @@ + + + + + +KotlinTypeFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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 
      Constructor and Description
      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..c1dd44105 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinTypeParameterFlags.html @@ -0,0 +1,279 @@ + + + + + +KotlinTypeParameterFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..3e96867a0 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinValueParameterFlags.html @@ -0,0 +1,333 @@ + + + + + +KotlinValueParameterFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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..90c0081a6 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/KotlinVisibilityFlags.html @@ -0,0 +1,366 @@ + + + + + +KotlinVisibilityFlags (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.flags
+

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 TypeField and Description
      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-frame.html b/api/proguard/classfile/kotlin/flags/package-frame.html new file mode 100644 index 000000000..8defc6b89 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/package-frame.html @@ -0,0 +1,35 @@ + + + + + +proguard.classfile.kotlin.flags (ProGuardCORE) + + + + +

proguard.classfile.kotlin.flags

+ + + 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..59a800154 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/package-summary.html @@ -0,0 +1,224 @@ + + + + + +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..67a2491a8 --- /dev/null +++ b/api/proguard/classfile/kotlin/flags/package-tree.html @@ -0,0 +1,150 @@ + + + + + +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-frame.html b/api/proguard/classfile/kotlin/package-frame.html new file mode 100644 index 000000000..b9893e33b --- /dev/null +++ b/api/proguard/classfile/kotlin/package-frame.html @@ -0,0 +1,71 @@ + + + + + +proguard.classfile.kotlin (ProGuardCORE) + + + + +

proguard.classfile.kotlin

+ + + diff --git a/api/proguard/classfile/kotlin/package-summary.html b/api/proguard/classfile/kotlin/package-summary.html new file mode 100644 index 000000000..fad3f0c05 --- /dev/null +++ b/api/proguard/classfile/kotlin/package-summary.html @@ -0,0 +1,358 @@ + + + + + +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..58d3f6088 --- /dev/null +++ b/api/proguard/classfile/kotlin/package-tree.html @@ -0,0 +1,207 @@ + + + + + +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..a4c5d4f70 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/CallableReferenceInfo.html @@ -0,0 +1,303 @@ + + + + + +CallableReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

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..49f8da698 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/FunctionReferenceInfo.html @@ -0,0 +1,374 @@ + + + + + +FunctionReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

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..15c58c26f --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaFieldReferenceInfo.html @@ -0,0 +1,316 @@ + + + + + +JavaFieldReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

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..2ed3c3a69 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaMethodReferenceInfo.html @@ -0,0 +1,269 @@ + + + + + +JavaMethodReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

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..38480532b --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/JavaReferenceInfo.html @@ -0,0 +1,427 @@ + + + + + +JavaReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

Class JavaReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.JavaReferenceInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html b/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html new file mode 100644 index 000000000..a1517580a --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/LocalVariableReferenceInfo.html @@ -0,0 +1,376 @@ + + + + + +LocalVariableReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

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..fa80d56ef --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/PropertyReferenceInfo.html @@ -0,0 +1,378 @@ + + + + + +PropertyReferenceInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect
+

Class PropertyReferenceInfo

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.reflect.PropertyReferenceInfo
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/reflect/package-frame.html b/api/proguard/classfile/kotlin/reflect/package-frame.html new file mode 100644 index 000000000..a7efe14cf --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/package-frame.html @@ -0,0 +1,28 @@ + + + + + +proguard.classfile.kotlin.reflect (ProGuardCORE) + + + + +

proguard.classfile.kotlin.reflect

+ + + 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..c210bddc1 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/package-summary.html @@ -0,0 +1,180 @@ + + + + + +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..8182d988c --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/package-tree.html @@ -0,0 +1,146 @@ + + + + + +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..47b15baf7 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer.html @@ -0,0 +1,275 @@ + + + + + +KotlinCallableReferenceInitializer.LocalVariableReferenceInfoInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect.util
+

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..3588d3eb7 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter.html @@ -0,0 +1,295 @@ + + + + + +KotlinCallableReferenceInitializer.OptimizedCallableReferenceFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect.util
+

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..629b1165f --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/KotlinCallableReferenceInitializer.html @@ -0,0 +1,336 @@ + + + + + +KotlinCallableReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect.util
+

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-frame.html b/api/proguard/classfile/kotlin/reflect/util/package-frame.html new file mode 100644 index 000000000..829277372 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/package-frame.html @@ -0,0 +1,21 @@ + + + + + +proguard.classfile.kotlin.reflect.util (ProGuardCORE) + + + + +

proguard.classfile.kotlin.reflect.util

+ + + 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..a999e650c --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/package-summary.html @@ -0,0 +1,151 @@ + + + + + +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..5ef93329d --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/util/package-tree.html @@ -0,0 +1,136 @@ + + + + + +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..46424bfc5 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoToOwnerVisitor.html @@ -0,0 +1,284 @@ + + + + + +CallableReferenceInfoToOwnerVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect.visitor
+

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..96f6687fc --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/CallableReferenceInfoVisitor.html @@ -0,0 +1,274 @@ + + + + + +CallableReferenceInfoVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.reflect.visitor
+

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-frame.html b/api/proguard/classfile/kotlin/reflect/visitor/package-frame.html new file mode 100644 index 000000000..f1f115aff --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/package-frame.html @@ -0,0 +1,23 @@ + + + + + +proguard.classfile.kotlin.reflect.visitor (ProGuardCORE) + + + + +

proguard.classfile.kotlin.reflect.visitor

+ + + 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..ba87b9862 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/package-summary.html @@ -0,0 +1,154 @@ + + + + + +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..86bcad5e6 --- /dev/null +++ b/api/proguard/classfile/kotlin/reflect/visitor/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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..59b85ca9b --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllConstructorVisitor.html @@ -0,0 +1,307 @@ + + + + + +AllConstructorVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..d62990a6e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllFunctionVisitor.html @@ -0,0 +1,326 @@ + + + + + +AllFunctionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..efbb50813 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationArgumentVisitor.html @@ -0,0 +1,289 @@ + + + + + +AllKotlinAnnotationArgumentVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..83509031a --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllKotlinAnnotationVisitor.html @@ -0,0 +1,378 @@ + + + + + +AllKotlinAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..fac13ab92 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllPropertyVisitor.html @@ -0,0 +1,307 @@ + + + + + +AllPropertyVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..73334a58a --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeAliasVisitor.html @@ -0,0 +1,305 @@ + + + + + +AllTypeAliasVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..5b5323840 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeParameterVisitor.html @@ -0,0 +1,420 @@ + + + + + +AllTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..0a8b13331 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllTypeVisitor.html @@ -0,0 +1,1203 @@ + + + + + +AllTypeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..2f63a8880 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/AllValueParameterVisitor.html @@ -0,0 +1,422 @@ + + + + + +AllValueParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..80f921a69 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationArgumentVisitor.html @@ -0,0 +1,609 @@ + + + + + +KotlinAnnotationArgumentVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..62e6bc341 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinAnnotationVisitor.html @@ -0,0 +1,277 @@ + + + + + +KotlinAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..15de24a88 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToAnonymousObjectOriginClassVisitor.html @@ -0,0 +1,309 @@ + + + + + +KotlinClassToAnonymousObjectOriginClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..1c372021d --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToDefaultImplsClassVisitor.html @@ -0,0 +1,305 @@ + + + + + +KotlinClassToDefaultImplsClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..89f2419b1 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassToInlineOriginFunctionVisitor.html @@ -0,0 +1,311 @@ + + + + + +KotlinClassToInlineOriginFunctionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..dea38efa8 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinClassVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..e9f08421e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinConstructorVisitor.html @@ -0,0 +1,226 @@ + + + + + +KotlinConstructorVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..2d1556e09 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinContractVisitor.html @@ -0,0 +1,228 @@ + + + + + +KotlinContractVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..a3244551d --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinEffectExprVisitor.html @@ -0,0 +1,298 @@ + + + + + +KotlinEffectExprVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..526bfc74e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinEffectVisitor.html @@ -0,0 +1,230 @@ + + + + + +KotlinEffectVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..b67a59adb --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFileFacadeVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinFileFacadeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..460b366b0 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToDefaultMethodVisitor.html @@ -0,0 +1,290 @@ + + + + + +KotlinFunctionToDefaultMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..dddedb105 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionToMethodVisitor.html @@ -0,0 +1,289 @@ + + + + + +KotlinFunctionToMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..61296a1f3 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinFunctionVisitor.html @@ -0,0 +1,260 @@ + + + + + +KotlinFunctionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..3c96d5b63 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataPrinter.html @@ -0,0 +1,1335 @@ + + + + + +KotlinMetadataPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..a33005191 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataRemover.html @@ -0,0 +1,316 @@ + + + + + +KotlinMetadataRemover (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..673b5e257 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataToClazzVisitor.html @@ -0,0 +1,324 @@ + + + + + +KotlinMetadataToClazzVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..4e9d58874 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVersionFilter.html @@ -0,0 +1,391 @@ + + + + + +KotlinMetadataVersionFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..17c3ac115 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMetadataVisitor.html @@ -0,0 +1,333 @@ + + + + + +KotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..280317484 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMultiFileFacadeVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinMultiFileFacadeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..8a00b5d7d --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinMultiFilePartVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinMultiFilePartVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..b37ad9129 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinPropertyVisitor.html @@ -0,0 +1,260 @@ + + + + + +KotlinPropertyVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..b368ecc93 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinSyntheticClassVisitor.html @@ -0,0 +1,256 @@ + + + + + +KotlinSyntheticClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..02de31595 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeAliasVisitor.html @@ -0,0 +1,226 @@ + + + + + +KotlinTypeAliasVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..ec9625cb4 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeParameterVisitor.html @@ -0,0 +1,298 @@ + + + + + +KotlinTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..325dd9b2f --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinTypeVisitor.html @@ -0,0 +1,687 @@ + + + + + +KotlinTypeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..9bbea4967 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinValueParameterVisitor.html @@ -0,0 +1,284 @@ + + + + + +KotlinValueParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..960a0ae39 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/KotlinVersionRequirementVisitor.html @@ -0,0 +1,317 @@ + + + + + +KotlinVersionRequirementVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..ac2e99d1e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MemberToKotlinPropertyVisitor.html @@ -0,0 +1,345 @@ + + + + + +MemberToKotlinPropertyVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..6bfa62115 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MethodToKotlinConstructorVisitor.html @@ -0,0 +1,344 @@ + + + + + +MethodToKotlinConstructorVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..c91f12d3c --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MethodToKotlinFunctionVisitor.html @@ -0,0 +1,344 @@ + + + + + +MethodToKotlinFunctionVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..75fea9767 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MultiKotlinMetadataVisitor.html @@ -0,0 +1,311 @@ + + + + + +MultiKotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..bbbf1c03c --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/MultiKotlinTypeParameterVisitor.html @@ -0,0 +1,370 @@ + + + + + +MultiKotlinTypeParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..4fcdf48cf --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/ReferencedKotlinMetadataVisitor.html @@ -0,0 +1,319 @@ + + + + + +ReferencedKotlinMetadataVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor
+

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..7345521b0 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationArgumentFilter.html @@ -0,0 +1,312 @@ + + + + + +KotlinAnnotationArgumentFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..525adbc24 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinAnnotationFilter.html @@ -0,0 +1,363 @@ + + + + + +KotlinAnnotationFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..2d288c572 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassFilter.html @@ -0,0 +1,290 @@ + + + + + +KotlinClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..bd12b5f70 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinClassKindFilter.html @@ -0,0 +1,328 @@ + + + + + +KotlinClassKindFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..0bc50ee72 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinConstructorFilter.html @@ -0,0 +1,283 @@ + + + + + +KotlinConstructorFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..14cca776f --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinDeclarationContainerFilter.html @@ -0,0 +1,336 @@ + + + + + +KotlinDeclarationContainerFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..314d20bea --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinFunctionFilter.html @@ -0,0 +1,331 @@ + + + + + +KotlinFunctionFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..2b4cb9494 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinMetadataFilter.html @@ -0,0 +1,320 @@ + + + + + +KotlinMetadataFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..eeee04ee2 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinMultiFilePartKindFilter.html @@ -0,0 +1,320 @@ + + + + + +KotlinMultiFilePartKindFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..5d1c18222 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinPropertyFilter.html @@ -0,0 +1,307 @@ + + + + + +KotlinPropertyFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..5b4f8b2fc --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinSyntheticClassKindFilter.html @@ -0,0 +1,359 @@ + + + + + +KotlinSyntheticClassKindFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..10bd8a57e --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeAliasFilter.html @@ -0,0 +1,301 @@ + + + + + +KotlinTypeAliasFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..f406e0d02 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeFilter.html @@ -0,0 +1,810 @@ + + + + + +KotlinTypeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..3ac6c30ec --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinTypeParameterFilter.html @@ -0,0 +1,389 @@ + + + + + +KotlinTypeParameterFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

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..cbf281878 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/KotlinValueParameterFilter.html @@ -0,0 +1,372 @@ + + + + + +KotlinValueParameterFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.kotlin.visitor.filter
+

Class KotlinValueParameterFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.kotlin.visitor.filter.KotlinValueParameterFilter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/kotlin/visitor/filter/package-frame.html b/api/proguard/classfile/kotlin/visitor/filter/package-frame.html new file mode 100644 index 000000000..9a8167d5c --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/package-frame.html @@ -0,0 +1,33 @@ + + + + + +proguard.classfile.kotlin.visitor.filter (ProGuardCORE) + + + + +

proguard.classfile.kotlin.visitor.filter

+ + + 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..9f4aded22 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/package-summary.html @@ -0,0 +1,229 @@ + + + + + +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..2cb165cbe --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/filter/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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-frame.html b/api/proguard/classfile/kotlin/visitor/package-frame.html new file mode 100644 index 000000000..5e0998d89 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/package-frame.html @@ -0,0 +1,64 @@ + + + + + +proguard.classfile.kotlin.visitor (ProGuardCORE) + + + + +

proguard.classfile.kotlin.visitor

+ + + 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..9f4fa9c48 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/package-summary.html @@ -0,0 +1,369 @@ + + + + + +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..d4f16f9c9 --- /dev/null +++ b/api/proguard/classfile/kotlin/visitor/package-tree.html @@ -0,0 +1,182 @@ + + + + + +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-frame.html b/api/proguard/classfile/package-frame.html new file mode 100644 index 000000000..882a8a5e6 --- /dev/null +++ b/api/proguard/classfile/package-frame.html @@ -0,0 +1,48 @@ + + + + + +proguard.classfile (ProGuardCORE) + + + + +

proguard.classfile

+ + + diff --git a/api/proguard/classfile/package-summary.html b/api/proguard/classfile/package-summary.html new file mode 100644 index 000000000..0282d36d5 --- /dev/null +++ b/api/proguard/classfile/package-summary.html @@ -0,0 +1,329 @@ + + + + + +proguard.classfile (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile

+
+
This package contains classes to represent the various elements of class files.
+
+

See: Description

+
+
+
    +
  • + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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.
    +
    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.
    +
    +
  • +
+ + + +

Package proguard.classfile Description

+
This package contains classes to represent the various elements of class files. +

+A class file is represented by the Clazz interface. This interface currently has two alternative +representations: +

    +
  • ProgramClass: + a complete representation that can be read, modified, and written back. +
  • LibraryClass: + an incomplete representation that can be only be read. It is however + more compact than ProgramClass, and sufficient for + analyzing class files from library jars. +
+
+ + + + + + diff --git a/api/proguard/classfile/package-tree.html b/api/proguard/classfile/package-tree.html new file mode 100644 index 000000000..b71067dcc --- /dev/null +++ b/api/proguard/classfile/package-tree.html @@ -0,0 +1,196 @@ + + + + + +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..af44c9554 --- /dev/null +++ b/api/proguard/classfile/util/AccessUtil.html @@ -0,0 +1,447 @@ + + + + + +AccessUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      AccessUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..d8b20d427 --- /dev/null +++ b/api/proguard/classfile/util/AllParameterVisitor.html @@ -0,0 +1,356 @@ + + + + + +AllParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..57d9ea63d --- /dev/null +++ b/api/proguard/classfile/util/ArrayInitializationMatcher.html @@ -0,0 +1,377 @@ + + + + + +ArrayInitializationMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 TypeMethod and Description
      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..0e97d1bf8 --- /dev/null +++ b/api/proguard/classfile/util/ArrayInitializationReplacer.html @@ -0,0 +1,404 @@ + + + + + +ArrayInitializationReplacer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..30fa0383d --- /dev/null +++ b/api/proguard/classfile/util/BranchTargetFinder.html @@ -0,0 +1,887 @@ + + + + + +BranchTargetFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..fee2bb7aa --- /dev/null +++ b/api/proguard/classfile/util/ClassInitializer.html @@ -0,0 +1,392 @@ + + + + + +ClassInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..fe3a00c44 --- /dev/null +++ b/api/proguard/classfile/util/ClassPoolClassLoader.html @@ -0,0 +1,288 @@ + + + + + +ClassPoolClassLoader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 TypeMethod and Description
      java.lang.Class<?>findClass(java.lang.String name) 
      +
        +
      • + + +

        Methods inherited from class java.lang.ClassLoader

        +clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, 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..b334b1dd3 --- /dev/null +++ b/api/proguard/classfile/util/ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer.html @@ -0,0 +1,315 @@ + + + + + +ClassReferenceInitializer.KotlinTypeAliasReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..312dc6590 --- /dev/null +++ b/api/proguard/classfile/util/ClassReferenceInitializer.html @@ -0,0 +1,1211 @@ + + + + + +ClassReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..688bfa295 --- /dev/null +++ b/api/proguard/classfile/util/ClassRenamer.html @@ -0,0 +1,437 @@ + + + + + +ClassRenamer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..1ba198dce --- /dev/null +++ b/api/proguard/classfile/util/ClassSubHierarchyInitializer.html @@ -0,0 +1,341 @@ + + + + + +ClassSubHierarchyInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..02b50816a --- /dev/null +++ b/api/proguard/classfile/util/ClassSuperHierarchyInitializer.html @@ -0,0 +1,405 @@ + + + + + +ClassSuperHierarchyInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..627231b99 --- /dev/null +++ b/api/proguard/classfile/util/ClassUtil.html @@ -0,0 +1,2298 @@ + + + + + +ClassUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 TypeMethod and Description
      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.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.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.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 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 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 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".
        +
        +
      • +
      + + + +
        +
      • +

        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".
        +
        +
      • +
      + + + +
        +
      • +

        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.
        +
        +
      • +
      + + + +
        +
      • +

        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..6250d7615 --- /dev/null +++ b/api/proguard/classfile/util/DescriptorClassEnumeration.html @@ -0,0 +1,359 @@ + + + + + +DescriptorClassEnumeration (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..19c28a07e --- /dev/null +++ b/api/proguard/classfile/util/DynamicClassReferenceInitializer.html @@ -0,0 +1,669 @@ + + + + + +DynamicClassReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..2cbcac232 --- /dev/null +++ b/api/proguard/classfile/util/DynamicMemberReferenceInitializer.html @@ -0,0 +1,555 @@ + + + + + +DynamicMemberReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..54136057d --- /dev/null +++ b/api/proguard/classfile/util/EnumFieldReferenceInitializer.html @@ -0,0 +1,446 @@ + + + + + +EnumFieldReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..988e55329 --- /dev/null +++ b/api/proguard/classfile/util/ExternalTypeEnumeration.html @@ -0,0 +1,312 @@ + + + + + +ExternalTypeEnumeration (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      ExternalTypeEnumeration(java.lang.String descriptor) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5cf8c8fc9 --- /dev/null +++ b/api/proguard/classfile/util/InitializationUtil.html @@ -0,0 +1,312 @@ + + + + + +InitializationUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      InitializationUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..1a2dedeee --- /dev/null +++ b/api/proguard/classfile/util/InitializedClassUtil.html @@ -0,0 +1,252 @@ + + + + + +InitializedClassUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

Class InitializedClassUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.util.InitializedClassUtil
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..0ee364aa6 --- /dev/null +++ b/api/proguard/classfile/util/InstructionSequenceMatcher.html @@ -0,0 +1,1471 @@ + + + + + +InstructionSequenceMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..e5b4dfb68 --- /dev/null +++ b/api/proguard/classfile/util/InternalTypeEnumeration.html @@ -0,0 +1,456 @@ + + + + + +InternalTypeEnumeration (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..2531140b0 --- /dev/null +++ b/api/proguard/classfile/util/InternalTypeIterable.html @@ -0,0 +1,286 @@ + + + + + +InternalTypeIterable (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      InternalTypeIterable(java.lang.String descriptor) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..286fef8c0 --- /dev/null +++ b/api/proguard/classfile/util/InvalidClassReferenceVisitor.html @@ -0,0 +1,256 @@ + + + + + +InvalidClassReferenceVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..e00441de2 --- /dev/null +++ b/api/proguard/classfile/util/InvalidMemberReferenceVisitor.html @@ -0,0 +1,402 @@ + + + + + +InvalidMemberReferenceVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..782399c16 --- /dev/null +++ b/api/proguard/classfile/util/InvalidReferenceVisitor.html @@ -0,0 +1,198 @@ + + + + + +InvalidReferenceVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

Interface InvalidReferenceVisitor

+
+
+
+ +
+ +
+ + + + + + + diff --git a/api/proguard/classfile/util/MemberFinder.html b/api/proguard/classfile/util/MemberFinder.html new file mode 100644 index 000000000..e22e27db5 --- /dev/null +++ b/api/proguard/classfile/util/MemberFinder.html @@ -0,0 +1,499 @@ + + + + + +MemberFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      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 TypeMethod and Description
      ClazzcorrespondingClass() +
      Returns the corresponding class of the most recently found class member.
      +
      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.
      +
      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.
      +
      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.
      +
      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.
      +
      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.
      +
      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.
      +
      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..ae2e4f73f --- /dev/null +++ b/api/proguard/classfile/util/MemberRenamer.html @@ -0,0 +1,334 @@ + + + + + +MemberRenamer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/util/MethodLinker.html b/api/proguard/classfile/util/MethodLinker.html new file mode 100644 index 000000000..16e91d899 --- /dev/null +++ b/api/proguard/classfile/util/MethodLinker.html @@ -0,0 +1,368 @@ + + + + + +MethodLinker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..4f720eee1 --- /dev/null +++ b/api/proguard/classfile/util/NestHostFinder.html @@ -0,0 +1,393 @@ + + + + + +NestHostFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..440f12caa --- /dev/null +++ b/api/proguard/classfile/util/PrimitiveArrayConstantReplacer.html @@ -0,0 +1,667 @@ + + + + + +PrimitiveArrayConstantReplacer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..3efcab3af --- /dev/null +++ b/api/proguard/classfile/util/StringReferenceInitializer.html @@ -0,0 +1,318 @@ + + + + + +StringReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..272691d4e --- /dev/null +++ b/api/proguard/classfile/util/StringSharer.html @@ -0,0 +1,498 @@ + + + + + +StringSharer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..3160bb60a --- /dev/null +++ b/api/proguard/classfile/util/WarningLogger.html @@ -0,0 +1,406 @@ + + + + + +WarningLogger (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

Class WarningLogger

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

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..96a4b5ead --- /dev/null +++ b/api/proguard/classfile/util/WarningPrinter.html @@ -0,0 +1,416 @@ + + + + + +WarningPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..e3e9fa68f --- /dev/null +++ b/api/proguard/classfile/util/WildcardConstantFilter.html @@ -0,0 +1,618 @@ + + + + + +WildcardConstantFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util
+

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..ed47f2654 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinMetadataInitializer.html @@ -0,0 +1,539 @@ + + + + + +KotlinMetadataInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.kotlin
+

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..23dc11c0d --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinMetadataType.html @@ -0,0 +1,416 @@ + + + + + +KotlinMetadataType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.kotlin
+

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 Constant and Description
      bv +
      Deprecated. 
      +
      d1 
      d2 
      k 
      mv 
      pn 
      xi 
      xs 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..3ddd9b804 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinNameUtil.html @@ -0,0 +1,380 @@ + + + + + +KotlinNameUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.kotlin
+

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 TypeField and Description
      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 TypeMethod and Description
      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..e6cdaaf93 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/KotlinStringUtil.html @@ -0,0 +1,268 @@ + + + + + +KotlinStringUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.kotlin
+

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-frame.html b/api/proguard/classfile/util/kotlin/package-frame.html new file mode 100644 index 000000000..ce373e43e --- /dev/null +++ b/api/proguard/classfile/util/kotlin/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.classfile.util.kotlin (ProGuardCORE) + + + + +

proguard.classfile.util.kotlin

+ + + 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..e70b806b8 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/package-summary.html @@ -0,0 +1,170 @@ + + + + + +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..f05f77d93 --- /dev/null +++ b/api/proguard/classfile/util/kotlin/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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-frame.html b/api/proguard/classfile/util/package-frame.html new file mode 100644 index 000000000..13725fec0 --- /dev/null +++ b/api/proguard/classfile/util/package-frame.html @@ -0,0 +1,57 @@ + + + + + +proguard.classfile.util (ProGuardCORE) + + + + +

proguard.classfile.util

+ + + diff --git a/api/proguard/classfile/util/package-summary.html b/api/proguard/classfile/util/package-summary.html new file mode 100644 index 000000000..9f48e19aa --- /dev/null +++ b/api/proguard/classfile/util/package-summary.html @@ -0,0 +1,389 @@ + + + + + +proguard.classfile.util (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.util

+
+
This package contains utility classes for processing class files.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.util Description

+
This package contains utility classes for processing class files.
+
+ + + + + + diff --git a/api/proguard/classfile/util/package-tree.html b/api/proguard/classfile/util/package-tree.html new file mode 100644 index 000000000..8802cb72f --- /dev/null +++ b/api/proguard/classfile/util/package-tree.html @@ -0,0 +1,186 @@ + + + + + +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..053b94b0c --- /dev/null +++ b/api/proguard/classfile/util/renderer/ClassViewModel.html @@ -0,0 +1,441 @@ + + + + + +ClassViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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..2d6eb58da --- /dev/null +++ b/api/proguard/classfile/util/renderer/ConstantViewModel.html @@ -0,0 +1,318 @@ + + + + + +ConstantViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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..36c066795 --- /dev/null +++ b/api/proguard/classfile/util/renderer/FieldViewModel.html @@ -0,0 +1,324 @@ + + + + + +FieldViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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..67d1a227a --- /dev/null +++ b/api/proguard/classfile/util/renderer/MemberViewModel.Pair.html @@ -0,0 +1,297 @@ + + + + + +MemberViewModel.Pair (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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 TypeField and Description
      Kkey 
      Vvalue 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..495a655a1 --- /dev/null +++ b/api/proguard/classfile/util/renderer/MemberViewModel.html @@ -0,0 +1,343 @@ + + + + + +MemberViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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..890c928de --- /dev/null +++ b/api/proguard/classfile/util/renderer/MethodViewModel.html @@ -0,0 +1,324 @@ + + + + + +MethodViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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..f4e4deae7 --- /dev/null +++ b/api/proguard/classfile/util/renderer/ProcessableViewModel.html @@ -0,0 +1,355 @@ + + + + + +ProcessableViewModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer
+

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 TypeField and Description
      protected java.util.List<java.lang.String>processingFlags 
      protected java.lang.ObjectprocessingInfo 
      +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..812c39539 --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/StringListWriter.html @@ -0,0 +1,390 @@ + + + + + +StringListWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.util.renderer.core
+

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 
      Constructor and Description
      StringListWriter(java.util.List<java.lang.String> output) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidclose() 
      voidflush() 
      java.util.List<java.lang.String>getOutput() 
      voidwrite(@NotNull char[] cbuf, + int off, + int len) 
      voidwrite(java.lang.String str) 
      +
        +
      • + + +

        Methods inherited from class java.io.Writer

        +append, append, append, 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
        +                  @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.io.Closeable
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        Specified by:
        +
        close in class java.io.Writer
        +
        Throws:
        +
        java.io.IOException
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/util/renderer/core/package-frame.html b/api/proguard/classfile/util/renderer/core/package-frame.html new file mode 100644 index 000000000..93e7f9277 --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.classfile.util.renderer.core (ProGuardCORE) + + + + +

proguard.classfile.util.renderer.core

+
+

Classes

+ +
+ + 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..dab49c119 --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/package-summary.html @@ -0,0 +1,139 @@ + + + + + +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..65baa5b76 --- /dev/null +++ b/api/proguard/classfile/util/renderer/core/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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-frame.html b/api/proguard/classfile/util/renderer/package-frame.html new file mode 100644 index 000000000..a668eea66 --- /dev/null +++ b/api/proguard/classfile/util/renderer/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.classfile.util.renderer (ProGuardCORE) + + + + +

proguard.classfile.util.renderer

+ + + 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..764286be8 --- /dev/null +++ b/api/proguard/classfile/util/renderer/package-summary.html @@ -0,0 +1,177 @@ + + + + + +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..78c5efd73 --- /dev/null +++ b/api/proguard/classfile/util/renderer/package-tree.html @@ -0,0 +1,146 @@ + + + + + +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..dbec3eb73 --- /dev/null +++ b/api/proguard/classfile/visitor/AllClassVisitor.html @@ -0,0 +1,279 @@ + + + + + +AllClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class AllClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.AllClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..03d5797d0 --- /dev/null +++ b/api/proguard/classfile/visitor/AllFieldVisitor.html @@ -0,0 +1,291 @@ + + + + + +AllFieldVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..fc079dbc5 --- /dev/null +++ b/api/proguard/classfile/visitor/AllMemberVisitor.html @@ -0,0 +1,291 @@ + + + + + +AllMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..43c3e89ef --- /dev/null +++ b/api/proguard/classfile/visitor/AllMethodVisitor.html @@ -0,0 +1,291 @@ + + + + + +AllMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..656ce1c86 --- /dev/null +++ b/api/proguard/classfile/visitor/BottomClassFilter.html @@ -0,0 +1,350 @@ + + + + + +BottomClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..874f22a7b --- /dev/null +++ b/api/proguard/classfile/visitor/ClassAccessFilter.html @@ -0,0 +1,308 @@ + + + + + +ClassAccessFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class ClassAccessFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ClassAccessFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..8cc153f87 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCleaner.html @@ -0,0 +1,1186 @@ + + + + + +ClassCleaner (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..557bafc4b --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCollector.html @@ -0,0 +1,297 @@ + + + + + +ClassCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..7eaf31e85 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassConstantClassFilter.html @@ -0,0 +1,392 @@ + + + + + +ClassConstantClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..4ecd60898 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassCounter.html @@ -0,0 +1,311 @@ + + + + + +ClassCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class ClassCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.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..3c52a4062 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassFeatureNameCollector.html @@ -0,0 +1,298 @@ + + + + + +ClassFeatureNameCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..311d8bccd --- /dev/null +++ b/api/proguard/classfile/visitor/ClassHierarchyTraveler.html @@ -0,0 +1,310 @@ + + + + + +ClassHierarchyTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..0d92a697e --- /dev/null +++ b/api/proguard/classfile/visitor/ClassNameCollector.html @@ -0,0 +1,298 @@ + + + + + +ClassNameCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..ef9779be7 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassNameFilter.html @@ -0,0 +1,541 @@ + + + + + +ClassNameFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..e84a0f75f --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolClassVisitor.html @@ -0,0 +1,316 @@ + + + + + +ClassPoolClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..0f7b32724 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolFiller.html @@ -0,0 +1,293 @@ + + + + + +ClassPoolFiller (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..e8d68aefd --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolRemover.html @@ -0,0 +1,293 @@ + + + + + +ClassPoolRemover (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..13759d2f2 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPoolVisitor.html @@ -0,0 +1,225 @@ + + + + + +ClassPoolVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..e87ddb3f8 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPresenceFilter.html @@ -0,0 +1,330 @@ + + + + + +ClassPresenceFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..a6f424308 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassPrinter.html @@ -0,0 +1,2655 @@ + + + + + +ClassPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..0a3b76e95 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassProcessingFlagFilter.html @@ -0,0 +1,304 @@ + + + + + +ClassProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 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..de6583cef --- /dev/null +++ b/api/proguard/classfile/visitor/ClassProcessingInfoFilter.html @@ -0,0 +1,327 @@ + + + + + +ClassProcessingInfoFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..e9d6f011e --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVersionFilter.html @@ -0,0 +1,343 @@ + + + + + +ClassVersionFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..313704c19 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVersionSetter.html @@ -0,0 +1,339 @@ + + + + + +ClassVersionSetter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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 
      Constructor and Description
      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..f8dc0cc29 --- /dev/null +++ b/api/proguard/classfile/visitor/ClassVisitor.html @@ -0,0 +1,257 @@ + + + + + +ClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..a7be909b6 --- /dev/null +++ b/api/proguard/classfile/visitor/ConcreteClassDownTraveler.html @@ -0,0 +1,325 @@ + + + + + +ConcreteClassDownTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..7a2ee56ea --- /dev/null +++ b/api/proguard/classfile/visitor/ConstantProcessingFlagFilter.html @@ -0,0 +1,306 @@ + + + + + +ConstantProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..b9dce0016 --- /dev/null +++ b/api/proguard/classfile/visitor/ConstructorMethodFilter.html @@ -0,0 +1,409 @@ + + + + + +ConstructorMethodFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..cf6dadbe4 --- /dev/null +++ b/api/proguard/classfile/visitor/CounterConditionalClassVisitor.html @@ -0,0 +1,330 @@ + + + + + +CounterConditionalClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..0bcd35250 --- /dev/null +++ b/api/proguard/classfile/visitor/DotClassClassVisitor.html @@ -0,0 +1,384 @@ + + + + + +DotClassClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..2731e08b9 --- /dev/null +++ b/api/proguard/classfile/visitor/DynamicReturnedClassVisitor.html @@ -0,0 +1,367 @@ + + + + + +DynamicReturnedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..391058099 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptClassFilter.html @@ -0,0 +1,301 @@ + + + + + +ExceptClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class ExceptClassFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptClassFilter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    +
    public class ExceptClassFilter
    +extends java.lang.Object
    +implements ClassVisitor
    +
    This ClassVisitor delegates its visits to another given ClassVisitor, except for + one given class.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..3fee02c22 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptClassesFilter.html @@ -0,0 +1,301 @@ + + + + + +ExceptClassesFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..2e120a60b --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionCounter.html @@ -0,0 +1,304 @@ + + + + + +ExceptionCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class ExceptionCounter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.ExceptionCounter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ExceptionCounter() 
      +
    • +
    + + +
  • +
+
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html b/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html new file mode 100644 index 000000000..a11991412 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionExcludedOffsetFilter.html @@ -0,0 +1,295 @@ + + + + + +ExceptionExcludedOffsetFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..311900220 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionHandlerConstantVisitor.html @@ -0,0 +1,292 @@ + + + + + +ExceptionHandlerConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..0a1256db1 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionHandlerFilter.html @@ -0,0 +1,298 @@ + + + + + +ExceptionHandlerFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..8be3509e0 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionOffsetFilter.html @@ -0,0 +1,295 @@ + + + + + +ExceptionOffsetFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..91dc84c82 --- /dev/null +++ b/api/proguard/classfile/visitor/ExceptionRangeFilter.html @@ -0,0 +1,298 @@ + + + + + +ExceptionRangeFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..246076ae0 --- /dev/null +++ b/api/proguard/classfile/visitor/FilteredClassVisitor.html @@ -0,0 +1,314 @@ + + + + + +FilteredClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class FilteredClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.FilteredClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..3ab4459fa --- /dev/null +++ b/api/proguard/classfile/visitor/FunctionalInterfaceFilter.html @@ -0,0 +1,298 @@ + + + + + +FunctionalInterfaceFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..6a86390a7 --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementedClassConstantFilter.html @@ -0,0 +1,298 @@ + + + + + +ImplementedClassConstantFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..fefb5d6c8 --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementedClassFilter.html @@ -0,0 +1,313 @@ + + + + + +ImplementedClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..8a9005686 --- /dev/null +++ b/api/proguard/classfile/visitor/ImplementingClassConstantFilter.html @@ -0,0 +1,298 @@ + + + + + +ImplementingClassConstantFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..5206c9aad --- /dev/null +++ b/api/proguard/classfile/visitor/InitializerMethodFilter.html @@ -0,0 +1,378 @@ + + + + + +InitializerMethodFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..dfda7a867 --- /dev/null +++ b/api/proguard/classfile/visitor/LibraryClassFilter.html @@ -0,0 +1,315 @@ + + + + + +LibraryClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..6e12622cf --- /dev/null +++ b/api/proguard/classfile/visitor/LibraryMemberFilter.html @@ -0,0 +1,352 @@ + + + + + +LibraryMemberFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..bce8074b9 --- /dev/null +++ b/api/proguard/classfile/visitor/LineNumberFinder.html @@ -0,0 +1,372 @@ + + + + + +LineNumberFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..b9cdee084 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFilter.html @@ -0,0 +1,342 @@ + + + + + +MemberAccessFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..5b74e78ab --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFlagCleaner.html @@ -0,0 +1,412 @@ + + + + + +MemberAccessFlagCleaner (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..8535ee88d --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessFlagSetter.html @@ -0,0 +1,356 @@ + + + + + +MemberAccessFlagSetter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..a38256ab8 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberAccessSetter.html @@ -0,0 +1,356 @@ + + + + + +MemberAccessSetter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..588c4bf3d --- /dev/null +++ b/api/proguard/classfile/visitor/MemberClassAccessFilter.html @@ -0,0 +1,355 @@ + + + + + +MemberClassAccessFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..218141007 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCollectionFilter.html @@ -0,0 +1,330 @@ + + + + + +MemberCollectionFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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<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<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..a18d1df41 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCollector.html @@ -0,0 +1,311 @@ + + + + + +MemberCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..8d7329d6e --- /dev/null +++ b/api/proguard/classfile/visitor/MemberCounter.html @@ -0,0 +1,364 @@ + + + + + +MemberCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..158279646 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberDescriptorFilter.html @@ -0,0 +1,405 @@ + + + + + +MemberDescriptorFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..86bc42008 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberDescriptorReferencedClassVisitor.html @@ -0,0 +1,325 @@ + + + + + +MemberDescriptorReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..55ac79c57 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberNameFilter.html @@ -0,0 +1,403 @@ + + + + + +MemberNameFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..9ebf53752 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberProcessingFlagFilter.html @@ -0,0 +1,337 @@ + + + + + +MemberProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..24cb9a413 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberToClassVisitor.html @@ -0,0 +1,345 @@ + + + + + +MemberToClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..2a13594f6 --- /dev/null +++ b/api/proguard/classfile/visitor/MemberVisitor.html @@ -0,0 +1,323 @@ + + + + + +MemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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.
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/classfile/visitor/MethodCollector.html b/api/proguard/classfile/visitor/MethodCollector.html new file mode 100644 index 000000000..bbb629298 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodCollector.html @@ -0,0 +1,313 @@ + + + + + +MethodCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/visitor/MethodCounter.html b/api/proguard/classfile/visitor/MethodCounter.html new file mode 100644 index 000000000..1e59a304a --- /dev/null +++ b/api/proguard/classfile/visitor/MethodCounter.html @@ -0,0 +1,332 @@ + + + + + +MethodCounter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..be8728f19 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodFilter.html @@ -0,0 +1,374 @@ + + + + + +MethodFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..7f94e2a98 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodImplementationFilter.html @@ -0,0 +1,317 @@ + + + + + +MethodImplementationFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..be73c5de1 --- /dev/null +++ b/api/proguard/classfile/visitor/MethodImplementationTraveler.html @@ -0,0 +1,326 @@ + + + + + +MethodImplementationTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..367b83c32 --- /dev/null +++ b/api/proguard/classfile/visitor/MultiClassPoolVisitor.html @@ -0,0 +1,316 @@ + + + + + +MultiClassPoolVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..e4aa04bde --- /dev/null +++ b/api/proguard/classfile/visitor/MultiClassVisitor.html @@ -0,0 +1,315 @@ + + + + + +MultiClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..9d9a5cb5e --- /dev/null +++ b/api/proguard/classfile/visitor/MultiConstantVisitor.html @@ -0,0 +1,318 @@ + + + + + +MultiConstantVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..26a1a41b4 --- /dev/null +++ b/api/proguard/classfile/visitor/MultiMemberVisitor.html @@ -0,0 +1,369 @@ + + + + + +MultiMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..6d2ac1cbb --- /dev/null +++ b/api/proguard/classfile/visitor/NamedClassVisitor.html @@ -0,0 +1,281 @@ + + + + + +NamedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class NamedClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.NamedClassVisitor
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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/NamedFieldVisitor.html b/api/proguard/classfile/visitor/NamedFieldVisitor.html new file mode 100644 index 000000000..55ebf760f --- /dev/null +++ b/api/proguard/classfile/visitor/NamedFieldVisitor.html @@ -0,0 +1,295 @@ + + + + + +NamedFieldVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..46ac8b3f9 --- /dev/null +++ b/api/proguard/classfile/visitor/NamedMethodVisitor.html @@ -0,0 +1,295 @@ + + + + + +NamedMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..ca7396474 --- /dev/null +++ b/api/proguard/classfile/visitor/ParallelAllClassVisitor.ClassVisitorFactory.html @@ -0,0 +1,226 @@ + + + + + +ParallelAllClassVisitor.ClassVisitorFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..2568579d9 --- /dev/null +++ b/api/proguard/classfile/visitor/ParallelAllClassVisitor.html @@ -0,0 +1,313 @@ + + + + + +ParallelAllClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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.

    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/visitor/ParameterVisitor.html b/api/proguard/classfile/visitor/ParameterVisitor.html new file mode 100644 index 000000000..bf6fed549 --- /dev/null +++ b/api/proguard/classfile/visitor/ParameterVisitor.html @@ -0,0 +1,255 @@ + + + + + +ParameterVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Interface ParameterVisitor

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..6ff9d0dcf --- /dev/null +++ b/api/proguard/classfile/visitor/ProcessingInfoSetter.html @@ -0,0 +1,664 @@ + + + + + +ProcessingInfoSetter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..02d833dc5 --- /dev/null +++ b/api/proguard/classfile/visitor/ProgramClassFilter.html @@ -0,0 +1,315 @@ + + + + + +ProgramClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..04b412593 --- /dev/null +++ b/api/proguard/classfile/visitor/ProgramMemberFilter.html @@ -0,0 +1,352 @@ + + + + + +ProgramMemberFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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.html b/api/proguard/classfile/visitor/ReferencedClassVisitor.html new file mode 100644 index 000000000..7b48e8287 --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedClassVisitor.html @@ -0,0 +1,914 @@ + + + + + +ReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..0405943a7 --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedClassesExtractor.html @@ -0,0 +1,378 @@ + + + + + +ReferencedClassesExtractor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..ae26588e6 --- /dev/null +++ b/api/proguard/classfile/visitor/ReferencedMemberVisitor.html @@ -0,0 +1,405 @@ + + + + + +ReferencedMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..bd70e0839 --- /dev/null +++ b/api/proguard/classfile/visitor/SignatureAdapter.html @@ -0,0 +1,292 @@ + + + + + +SignatureAdapter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..2a5d22215 --- /dev/null +++ b/api/proguard/classfile/visitor/SignatureAttributeReferencedClassVisitor.html @@ -0,0 +1,312 @@ + + + + + +SignatureAttributeReferencedClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..876232910 --- /dev/null +++ b/api/proguard/classfile/visitor/SimilarMemberVisitor.html @@ -0,0 +1,406 @@ + + + + + +SimilarMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..c42a7973d --- /dev/null +++ b/api/proguard/classfile/visitor/SimpleClassPrinter.html @@ -0,0 +1,399 @@ + + + + + +SimpleClassPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..66339211b --- /dev/null +++ b/api/proguard/classfile/visitor/SingleTimeClassVisitor.html @@ -0,0 +1,291 @@ + + + + + +SingleTimeClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..ced01dc6a --- /dev/null +++ b/api/proguard/classfile/visitor/SubclassFilter.html @@ -0,0 +1,328 @@ + + + + + +SubclassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..4318c6086 --- /dev/null +++ b/api/proguard/classfile/visitor/SubclassTraveler.html @@ -0,0 +1,298 @@ + + + + + +SubclassTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..e8947cfaa --- /dev/null +++ b/api/proguard/classfile/visitor/UniqueClassFilter.html @@ -0,0 +1,298 @@ + + + + + +UniqueClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..331372d22 --- /dev/null +++ b/api/proguard/classfile/visitor/VariableClassVisitor.html @@ -0,0 +1,329 @@ + + + + + +VariableClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

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..d4da89606 --- /dev/null +++ b/api/proguard/classfile/visitor/VariableMemberVisitor.html @@ -0,0 +1,383 @@ + + + + + +VariableMemberVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.classfile.visitor
+

Class VariableMemberVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.classfile.visitor.VariableMemberVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/classfile/visitor/package-frame.html b/api/proguard/classfile/visitor/package-frame.html new file mode 100644 index 000000000..ce0cc88b9 --- /dev/null +++ b/api/proguard/classfile/visitor/package-frame.html @@ -0,0 +1,114 @@ + + + + + +proguard.classfile.visitor (ProGuardCORE) + + + + +

proguard.classfile.visitor

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/api/proguard/classfile/visitor/package-summary.html b/api/proguard/classfile/visitor/package-summary.html new file mode 100644 index 000000000..13e1d3b51 --- /dev/null +++ b/api/proguard/classfile/visitor/package-summary.html @@ -0,0 +1,822 @@ + + + + + +proguard.classfile.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.classfile.visitor

+
+
This package contains interfaces and classes for processing class files from +the proguard.classfile package using the visitor pattern.
+
+

See: Description

+
+
+ + + + +

Package proguard.classfile.visitor Description

+
This package contains interfaces and classes for processing class files from +the proguard.classfile package using the visitor pattern. +Cfr., for instance, "Design Patterns, Elements of Reusable OO Software", by +Gamma, Helm, Johnson, and Vlissider. +

+Why the visitor pattern? Class files frequently contain lists of elements of +various mixed types: class items, constant pool entries, attributes,... +These lists and types are largely fixed; they won't change much in future +releases of the Java class file specifications. On the other hand, the kinds +of operations that we may wish to perform on the class files may change and +expand. We want to separate the objects and the operations performed upon them. +This is a good place to use the visitor pattern. +

+Visitor interfaces avoid having to do series of instanceof tests +on the elements of a list, followed by type casts and the proper operations. +Every list element is a processable. When its accept method +is called by a visitor, it calls its corresponding visitX method +in the visitor, passing itself as an argument. This technique is called +double-dispatch. +

+As already mentioned, the main advantage is avoiding lots of +instanceof tests and type casts. Also, implementing a visitor +interface ensures you're handling all possible processable types. Each +type has its own method, which you simply have to implement. +

+A disadvantage is that the visitor methods always get the same names, specified +by the visitor interface. These names aren't descriptive at all, making code +harder to read. It's the visitor classes that describe the operations now. +

+Also, the visitor methods always have the same parameters and return values, as +specified by the visitor interfaces. Passing additional parameters is done by +means of extra fields in the visitor, which is somewhat of a kludge. +

+Because objects (the processables) and the operations performed upon them +(the visitors) are now separated, it becomes harder to associate some state +with the objects. For convenience, we always provide an extra visitor +info field in processables, in which visitors can put any temporary +information they want.

+
+ + + + + + diff --git a/api/proguard/classfile/visitor/package-tree.html b/api/proguard/classfile/visitor/package-tree.html new file mode 100644 index 000000000..1ff462938 --- /dev/null +++ b/api/proguard/classfile/visitor/package-tree.html @@ -0,0 +1,229 @@ + + + + + +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..143dee165 --- /dev/null +++ b/api/proguard/dexfile/AndroidConstants.html @@ -0,0 +1,2502 @@ + + + + + +AndroidConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile
+

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
        +
        +
      • +
      + + + +
        +
      • +

        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..21927e59b --- /dev/null +++ b/api/proguard/dexfile/converter/Dex2IRConverter.html @@ -0,0 +1,272 @@ + + + + + +Dex2IRConverter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.converter
+

Class Dex2IRConverter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.converter.Dex2IRConverter
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class Dex2IRConverter
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Dex2IRConverter() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..c0115e845 --- /dev/null +++ b/api/proguard/dexfile/converter/Dex2Pro.html @@ -0,0 +1,323 @@ + + + + + +Dex2Pro (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.converter
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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..721e1274d --- /dev/null +++ b/api/proguard/dexfile/converter/DexFix.html @@ -0,0 +1,297 @@ + + + + + +DexFix (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.converter
+

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 
      Constructor and Description
      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..19531140d --- /dev/null +++ b/api/proguard/dexfile/converter/IR2ProConverter.html @@ -0,0 +1,327 @@ + + + + + +IR2ProConverter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.converter
+

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-frame.html b/api/proguard/dexfile/converter/package-frame.html new file mode 100644 index 000000000..c3686d9ef --- /dev/null +++ b/api/proguard/dexfile/converter/package-frame.html @@ -0,0 +1,22 @@ + + + + + +proguard.dexfile.converter (ProGuardCORE) + + + + +

proguard.dexfile.converter

+ + + diff --git a/api/proguard/dexfile/converter/package-summary.html b/api/proguard/dexfile/converter/package-summary.html new file mode 100644 index 000000000..5c6918067 --- /dev/null +++ b/api/proguard/dexfile/converter/package-summary.html @@ -0,0 +1,157 @@ + + + + + +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..a95647407 --- /dev/null +++ b/api/proguard/dexfile/converter/package-tree.html @@ -0,0 +1,137 @@ + + + + + +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..bb3e0a782 --- /dev/null +++ b/api/proguard/dexfile/ir/ET.html @@ -0,0 +1,380 @@ + + + + + +ET (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

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 Constant and Description
      E0 +
      no argument
      +
      E1 +
      1 argument
      +
      E2 +
      2 argument
      +
      En +
      3+ argument
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5bf4d81e1 --- /dev/null +++ b/api/proguard/dexfile/ir/IrMethod.html @@ -0,0 +1,442 @@ + + + + + +IrMethod (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

Class IrMethod

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.IrMethod
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class IrMethod
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      IrMethod() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5a1679f47 --- /dev/null +++ b/api/proguard/dexfile/ir/LabelAndLocalMapper.html @@ -0,0 +1,281 @@ + + + + + +LabelAndLocalMapper (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

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..54efee955 --- /dev/null +++ b/api/proguard/dexfile/ir/LocalVar.html @@ -0,0 +1,396 @@ + + + + + +LocalVar (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

Class LocalVar

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.LocalVar
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class LocalVar
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..3e9c3f2a4 --- /dev/null +++ b/api/proguard/dexfile/ir/StmtSearcher.html @@ -0,0 +1,294 @@ + + + + + +StmtSearcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

Class StmtSearcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.StmtSearcher
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class StmtSearcher
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      StmtSearcher() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      voidtravel(Stmt stmt) 
      voidtravel(StmtList stmts) 
      voidtravel(Value op) 
      +
        +
      • + + +

        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..811cc0706 --- /dev/null +++ b/api/proguard/dexfile/ir/StmtTraveler.html @@ -0,0 +1,307 @@ + + + + + +StmtTraveler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

Class StmtTraveler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.StmtTraveler
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class StmtTraveler
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        StmtTraveler

        +
        public StmtTraveler()
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/dexfile/ir/Trap.html b/api/proguard/dexfile/ir/Trap.html new file mode 100644 index 000000000..f70885c89 --- /dev/null +++ b/api/proguard/dexfile/ir/Trap.html @@ -0,0 +1,379 @@ + + + + + +Trap (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

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..a93c25384 --- /dev/null +++ b/api/proguard/dexfile/ir/TypeClass.html @@ -0,0 +1,576 @@ + + + + + +TypeClass (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

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 TypeField and Description
      booleanfixed 
      java.lang.Stringname 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..d5c314a9c --- /dev/null +++ b/api/proguard/dexfile/ir/Util.html @@ -0,0 +1,353 @@ + + + + + +Util (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir
+

Class Util

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.Util
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class Util
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Util() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..83c79c154 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/AbstractInvokeExpr.html @@ -0,0 +1,360 @@ + + + + + +AbstractInvokeExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..6c38df4fc --- /dev/null +++ b/api/proguard/dexfile/ir/expr/ArrayExpr.html @@ -0,0 +1,420 @@ + + + + + +ArrayExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..1bae61fe5 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/BinopExpr.html @@ -0,0 +1,452 @@ + + + + + +BinopExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

Class BinopExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    +
    public class BinopExpr
    +extends Value.E2Expr
    +
    Represent a Binop expression, value = op1 vt op2
    +
    +
    See Also:
    +
    VT#ADD, +VT#AND, +VT#LCMP, +VT#FCMPG, +VT#DCMPG, +VT#FCMPL, +VT#DCMPL, +VT#DIV, +VT#EQ, +VT#GE, +VT#GT, +VT#LE, +VT#LT, +VT#MUL, +VT#NE, +VT#OR, +VT#REM, +VT#SHL, +VT#SHR, +VT#SUB, +VT#USHR, +VT#XOR
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..108a8b20b --- /dev/null +++ b/api/proguard/dexfile/ir/expr/CastExpr.html @@ -0,0 +1,438 @@ + + + + + +CastExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..ec7cdba73 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Constant.html @@ -0,0 +1,399 @@ + + + + + +Constant (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..91478fe08 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Exprs.html @@ -0,0 +1,1309 @@ + + + + + +Exprs (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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)
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        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)
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        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)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        nStaticField

        +
        public static StaticFieldExpr nStaticField(java.lang.String ownerType,
        +                                           java.lang.String fieldName,
        +                                           java.lang.String fieldType)
        +
      • +
      + + + + + + + +
        +
      • +

        nThisRef

        +
        public static RefExpr nThisRef(java.lang.String type)
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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..0090466d3 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/FieldExpr.html @@ -0,0 +1,466 @@ + + + + + +FieldExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..c73b27198 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/FilledArrayExpr.html @@ -0,0 +1,427 @@ + + + + + +FilledArrayExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..150a06d49 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeCustomExpr.html @@ -0,0 +1,510 @@ + + + + + +InvokeCustomExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..88568b358 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeExpr.html @@ -0,0 +1,535 @@ + + + + + +InvokeExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

Class InvokeExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    Direct Known Subclasses:
    +
    InvokeCustomExpr, InvokeNewExpr, InvokePolymorphicExpr
    +
    +
    +
    +
    public class InvokeExpr
    +extends AbstractInvokeExpr
    +
    Represent a method invocation expression. To represent a VT#INVOKE_INTERFACE,VT#INVOKE_SPECIAL or VT#INVOKE_VIRTUAL the first element of ops is the owner object,To + represent a VT#INVOKE_NEW or VT#INVOKE_STATIC all ops are arguments. The return + type of VT#INVOKE_NEW is owner instead of ret
    +
    +
    See Also:
    +
    VT#INVOKE_INTERFACE, +VT#INVOKE_NEW, +VT#INVOKE_SPECIAL, +VT#INVOKE_STATIC, +VT#INVOKE_VIRTUAL
    +
    +
  • +
+
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      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..632efaaee --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokeNewExpr.html @@ -0,0 +1,436 @@ + + + + + +InvokeNewExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..b8183998a --- /dev/null +++ b/api/proguard/dexfile/ir/expr/InvokePolymorphicExpr.html @@ -0,0 +1,467 @@ + + + + + +InvokePolymorphicExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..76424ef7f --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Local.html @@ -0,0 +1,450 @@ + + + + + +Local (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..0560c327a --- /dev/null +++ b/api/proguard/dexfile/ir/expr/NewExpr.html @@ -0,0 +1,406 @@ + + + + + +NewExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..52ab24b44 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/NewMutiArrayExpr.html @@ -0,0 +1,452 @@ + + + + + +NewMutiArrayExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..c1f0bb1ca --- /dev/null +++ b/api/proguard/dexfile/ir/expr/PhiExpr.html @@ -0,0 +1,371 @@ + + + + + +PhiExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..145c634b1 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/RefExpr.html @@ -0,0 +1,430 @@ + + + + + +RefExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..88cdb5e9a --- /dev/null +++ b/api/proguard/dexfile/ir/expr/StaticFieldExpr.html @@ -0,0 +1,450 @@ + + + + + +StaticFieldExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

Class StaticFieldExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    +
    public class StaticFieldExpr
    +extends Value.E0Expr
    +
    Represent a StaticField expression
    +
    +
    See Also:
    +
    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..c5ea117f6 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/TypeExpr.html @@ -0,0 +1,431 @@ + + + + + +TypeExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

Class TypeExpr

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.Cloneable
    +
    +
    +
    +
    public class TypeExpr
    +extends Value.E1Expr
    +
    Represent a Type expression
    +
    +
    See Also:
    +
    VT#CHECK_CAST, +VT#INSTANCE_OF, +VT#NEW_ARRAY
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..5a2605ef9 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/UnopExpr.html @@ -0,0 +1,437 @@ + + + + + +UnopExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..82d205746 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E0Expr.html @@ -0,0 +1,293 @@ + + + + + +Value.E0Expr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..3db279da4 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E1Expr.html @@ -0,0 +1,404 @@ + + + + + +Value.E1Expr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..db99ba44a --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.E2Expr.html @@ -0,0 +1,448 @@ + + + + + +Value.E2Expr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..7515f00d2 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.EnExpr.html @@ -0,0 +1,425 @@ + + + + + +Value.EnExpr (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..697937e69 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.VT.html @@ -0,0 +1,974 @@ + + + + + +Value.VT (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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..bac6d9799 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/Value.html @@ -0,0 +1,627 @@ + + + + + +Value (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.expr
+

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
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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-frame.html b/api/proguard/dexfile/ir/expr/package-frame.html new file mode 100644 index 000000000..b489cb739 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/package-frame.html @@ -0,0 +1,47 @@ + + + + + +proguard.dexfile.ir.expr (ProGuardCORE) + + + + +

proguard.dexfile.ir.expr

+ + + 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..0813f5118 --- /dev/null +++ b/api/proguard/dexfile/ir/expr/package-summary.html @@ -0,0 +1,290 @@ + + + + + +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..cf2b37fcc --- /dev/null +++ b/api/proguard/dexfile/ir/expr/package-tree.html @@ -0,0 +1,191 @@ + + + + + +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-frame.html b/api/proguard/dexfile/ir/package-frame.html new file mode 100644 index 000000000..364f85c32 --- /dev/null +++ b/api/proguard/dexfile/ir/package-frame.html @@ -0,0 +1,30 @@ + + + + + +proguard.dexfile.ir (ProGuardCORE) + + + + +

proguard.dexfile.ir

+ + + diff --git a/api/proguard/dexfile/ir/package-summary.html b/api/proguard/dexfile/ir/package-summary.html new file mode 100644 index 000000000..41dbf8620 --- /dev/null +++ b/api/proguard/dexfile/ir/package-summary.html @@ -0,0 +1,186 @@ + + + + + +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..e25e104a0 --- /dev/null +++ b/api/proguard/dexfile/ir/package-tree.html @@ -0,0 +1,153 @@ + + + + + +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..d49981c0f --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/AssignStmt.html @@ -0,0 +1,361 @@ + + + + + +AssignStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class AssignStmt

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

      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..47ae94d64 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/BaseSwitchStmt.html @@ -0,0 +1,343 @@ + + + + + +BaseSwitchStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..6cd086eaf --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/GotoStmt.html @@ -0,0 +1,408 @@ + + + + + +GotoStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class GotoStmt

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/dexfile/ir/stmt/IfStmt.html b/api/proguard/dexfile/ir/stmt/IfStmt.html new file mode 100644 index 000000000..f601997b1 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/IfStmt.html @@ -0,0 +1,435 @@ + + + + + +IfStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class IfStmt

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    JumpStmt
    +
    +
    +
    +
    public class IfStmt
    +extends Stmt.E1Stmt
    +implements JumpStmt
    +
    Represent a IF statement
    +
    +
    See Also:
    +
    ST#IF
    +
    +
  • +
+
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      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..2250a5318 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/JumpStmt.html @@ -0,0 +1,235 @@ + + + + + +JumpStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..04fb3e465 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/LabelStmt.html @@ -0,0 +1,421 @@ + + + + + +LabelStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class LabelStmt

+
+
+ +
+
    +
  • +
    +
    +
    public class LabelStmt
    +extends Stmt.E0Stmt
    +
    Represent a Label statement
    +
    +
    See Also:
    +
    ST#LABEL
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..23500e5b1 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/LookupSwitchStmt.html @@ -0,0 +1,401 @@ + + + + + +LookupSwitchStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class LookupSwitchStmt

+
+
+ +
+
    +
  • +
    +
    +
    public class LookupSwitchStmt
    +extends BaseSwitchStmt
    +
    Represent a LOOKUP_SWITCH statement
    +
    +
    See Also:
    +
    ST#LOOKUP_SWITCH
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..1d87e6518 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/NopStmt.html @@ -0,0 +1,341 @@ + + + + + +NopStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..9114e1a59 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/ReturnVoidStmt.html @@ -0,0 +1,341 @@ + + + + + +ReturnVoidStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..82f552bda --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E0Stmt.html @@ -0,0 +1,289 @@ + + + + + +Stmt.E0Stmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..4019b2401 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E1Stmt.html @@ -0,0 +1,374 @@ + + + + + +Stmt.E1Stmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..4727b76ef --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.E2Stmt.html @@ -0,0 +1,423 @@ + + + + + +Stmt.E2Stmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..7c54a92c9 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.ST.html @@ -0,0 +1,588 @@ + + + + + +Stmt.ST (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..8209cc097 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmt.html @@ -0,0 +1,697 @@ + + + + + +Stmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..13fdc7df4 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/StmtList.html @@ -0,0 +1,533 @@ + + + + + +StmtList (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..c99d52da1 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/Stmts.html @@ -0,0 +1,436 @@ + + + + + +Stmts (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..47277a290 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/TableSwitchStmt.html @@ -0,0 +1,413 @@ + + + + + +TableSwitchStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

Class TableSwitchStmt

+
+
+ +
+
    +
  • +
    +
    +
    public class TableSwitchStmt
    +extends BaseSwitchStmt
    +
    Represent a TABLE_SWITCH statement
    +
    +
    See Also:
    +
    ST#TABLE_SWITCH
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..ad9aaae3c --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/UnopStmt.html @@ -0,0 +1,352 @@ + + + + + +UnopStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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..a2b5f802d --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/VoidInvokeStmt.html @@ -0,0 +1,356 @@ + + + + + +VoidInvokeStmt (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.stmt
+

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:
    +
    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-frame.html b/api/proguard/dexfile/ir/stmt/package-frame.html new file mode 100644 index 000000000..49185c765 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/package-frame.html @@ -0,0 +1,43 @@ + + + + + +proguard.dexfile.ir.stmt (ProGuardCORE) + + + + +

proguard.dexfile.ir.stmt

+ + + 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..117d82496 --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/package-summary.html @@ -0,0 +1,265 @@ + + + + + +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..aee6acefc --- /dev/null +++ b/api/proguard/dexfile/ir/stmt/package-tree.html @@ -0,0 +1,181 @@ + + + + + +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..1e5b02d12 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/AggTransformer.html @@ -0,0 +1,288 @@ + + + + + +AggTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..31e114cb3 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.DfsVisitor.html @@ -0,0 +1,222 @@ + + + + + +Cfg.DfsVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..b9c6d0ca9 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.FrameVisitor.html @@ -0,0 +1,264 @@ + + + + + +Cfg.FrameVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..5fd74e15e --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.OnAssignCallBack.html @@ -0,0 +1,232 @@ + + + + + +Cfg.OnAssignCallBack (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..b6e1f58fc --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.OnUseCallBack.html @@ -0,0 +1,230 @@ + + + + + +Cfg.OnUseCallBack (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..a1fce2643 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.TravelCallBack.html @@ -0,0 +1,205 @@ + + + + + +Cfg.TravelCallBack (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..f89dae1fa --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Cfg.html @@ -0,0 +1,531 @@ + + + + + +Cfg (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..0f3c75b7d --- /dev/null +++ b/api/proguard/dexfile/ir/ts/CleanLabel.html @@ -0,0 +1,278 @@ + + + + + +CleanLabel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

Class CleanLabel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.ir.ts.CleanLabel
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Transformer
    +
    +
    +
    +
    public class CleanLabel
    +extends java.lang.Object
    +implements Transformer
    +
    Clean unused LabelStmt
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      CleanLabel() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..1208e29bf --- /dev/null +++ b/api/proguard/dexfile/ir/ts/ExceptionHandlerTrim.html @@ -0,0 +1,315 @@ + + + + + +ExceptionHandlerTrim (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 TypeMethod and Description
      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..13d9d17de --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.Reg.html @@ -0,0 +1,300 @@ + + + + + +Ir2JRegAssignTransformer.Reg (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 
      Constructor and Description
      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..5ca7ce494 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Ir2JRegAssignTransformer.html @@ -0,0 +1,301 @@ + + + + + +Ir2JRegAssignTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 TypeMethod and Description
      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..3705d1bcd --- /dev/null +++ b/api/proguard/dexfile/ir/ts/MultiArrayTransformer.html @@ -0,0 +1,300 @@ + + + + + +MultiArrayTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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]
    + 
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/dexfile/ir/ts/NewTransformer.html b/api/proguard/dexfile/ir/ts/NewTransformer.html new file mode 100644 index 000000000..f259d2fcc --- /dev/null +++ b/api/proguard/dexfile/ir/ts/NewTransformer.html @@ -0,0 +1,295 @@ + + + + + +NewTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 
      Constructor and Description
      NewTransformer() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..da07246b3 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/RemoveConstantFromSSA.html @@ -0,0 +1,354 @@ + + + + + +RemoveConstantFromSSA (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..a23031d0a --- /dev/null +++ b/api/proguard/dexfile/ir/ts/RemoveLocalFromSSA.html @@ -0,0 +1,323 @@ + + + + + +RemoveLocalFromSSA (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 
      Constructor and Description
      RemoveLocalFromSSA() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..b7cf98b57 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/StatedTransformer.html @@ -0,0 +1,294 @@ + + + + + +StatedTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..45a7f7eda --- /dev/null +++ b/api/proguard/dexfile/ir/ts/Transformer.html @@ -0,0 +1,223 @@ + + + + + +Transformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..c1f873788 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/TypeTransformer.TypeRef.html @@ -0,0 +1,516 @@ + + + + + +TypeTransformer.TypeRef (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..ef172c830 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/TypeTransformer.html @@ -0,0 +1,297 @@ + + + + + +TypeTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 TypeClass and Description
      static class TypeTransformer.TypeRef 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TypeTransformer() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..0000633fe --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.LiveA.html @@ -0,0 +1,424 @@ + + + + + +UnSSATransformer.LiveA (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..2bd8484b9 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.RegAssign.html @@ -0,0 +1,280 @@ + + + + + +UnSSATransformer.RegAssign (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 
      ModifierConstructor and Description
      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..18931e477 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UnSSATransformer.html @@ -0,0 +1,341 @@ + + + + + +UnSSATransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..b091d5349 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/UniqueQueue.html @@ -0,0 +1,442 @@ + + + + + +UniqueQueue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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 
      Constructor and Description
      UniqueQueue() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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.List

        +containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, replaceAll, retainAll, sort, subList
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Deque

        +iterator
      • +
      +
        +
      • + + +

        Methods inherited from interface java.util.Collection

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

        Methods inherited from interface java.lang.Iterable

        +forEach
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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.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..915fc0315 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/VoidInvokeTransformer.html @@ -0,0 +1,313 @@ + + + + + +VoidInvokeTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..795f8592b --- /dev/null +++ b/api/proguard/dexfile/ir/ts/ZeroTransformer.html @@ -0,0 +1,320 @@ + + + + + +ZeroTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts
+

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..471e7e0bc --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/AnalyzeValue.html @@ -0,0 +1,222 @@ + + + + + +AnalyzeValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts.an
+

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..7ddb41823 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/BaseAnalyze.html @@ -0,0 +1,651 @@ + + + + + +BaseAnalyze (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts.an
+

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..4cc4bd8a6 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/SimpleLiveAnalyze.html @@ -0,0 +1,422 @@ + + + + + +SimpleLiveAnalyze (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts.an
+

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..314718734 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/SimpleLiveValue.html @@ -0,0 +1,339 @@ + + + + + +SimpleLiveValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.ir.ts.an
+

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 
      Constructor and Description
      SimpleLiveValue() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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-frame.html b/api/proguard/dexfile/ir/ts/an/package-frame.html new file mode 100644 index 000000000..e05531354 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.dexfile.ir.ts.an (ProGuardCORE) + + + + +

proguard.dexfile.ir.ts.an

+
+

Interfaces

+ +

Classes

+ +
+ + 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..d73ab3d87 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/package-summary.html @@ -0,0 +1,162 @@ + + + + + +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..f7909d7e1 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/an/package-tree.html @@ -0,0 +1,143 @@ + + + + + +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-frame.html b/api/proguard/dexfile/ir/ts/package-frame.html new file mode 100644 index 000000000..0f7573567 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/package-frame.html @@ -0,0 +1,46 @@ + + + + + +proguard.dexfile.ir.ts (ProGuardCORE) + + + + +

proguard.dexfile.ir.ts

+ + + 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..d3cd212b7 --- /dev/null +++ b/api/proguard/dexfile/ir/ts/package-summary.html @@ -0,0 +1,275 @@ + + + + + +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..96532149b --- /dev/null +++ b/api/proguard/dexfile/ir/ts/package-tree.html @@ -0,0 +1,191 @@ + + + + + +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-frame.html b/api/proguard/dexfile/package-frame.html new file mode 100644 index 000000000..0dcf222d3 --- /dev/null +++ b/api/proguard/dexfile/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.dexfile (ProGuardCORE) + + + + +

proguard.dexfile

+
+

Classes

+ +
+ + diff --git a/api/proguard/dexfile/package-summary.html b/api/proguard/dexfile/package-summary.html new file mode 100644 index 000000000..0d05acfcb --- /dev/null +++ b/api/proguard/dexfile/package-summary.html @@ -0,0 +1,141 @@ + + + + + +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..b35ca8dc2 --- /dev/null +++ b/api/proguard/dexfile/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..2832386dc --- /dev/null +++ b/api/proguard/dexfile/reader/BaseDexFileReader.html @@ -0,0 +1,293 @@ + + + + + +BaseDexFileReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..1e29d8ff2 --- /dev/null +++ b/api/proguard/dexfile/reader/CFG.html @@ -0,0 +1,305 @@ + + + + + +CFG (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..76f05c581 --- /dev/null +++ b/api/proguard/dexfile/reader/DexConstants.html @@ -0,0 +1,812 @@ + + + + + +DexConstants (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..75801cd1b --- /dev/null +++ b/api/proguard/dexfile/reader/DexContainerReader.html @@ -0,0 +1,376 @@ + + + + + +DexContainerReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..ff6d2fe2c --- /dev/null +++ b/api/proguard/dexfile/reader/DexException.html @@ -0,0 +1,366 @@ + + + + + +DexException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 
      Constructor and Description
      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..f59e840f0 --- /dev/null +++ b/api/proguard/dexfile/reader/DexFileReader.html @@ -0,0 +1,702 @@ + + + + + +DexFileReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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);
    + 
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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
        +
        +
      • +
      + + + + + + + + +
    • +
    + +
      +
    • + + +

      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..012219f60 --- /dev/null +++ b/api/proguard/dexfile/reader/DexLabel.html @@ -0,0 +1,289 @@ + + + + + +DexLabel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 
      Constructor and Description
      DexLabel() 
      DexLabel(int offset) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..b99170867 --- /dev/null +++ b/api/proguard/dexfile/reader/DexReaderFactory.html @@ -0,0 +1,299 @@ + + + + + +DexReaderFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..fdb67f0d4 --- /dev/null +++ b/api/proguard/dexfile/reader/DexType.html @@ -0,0 +1,312 @@ + + + + + +DexType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 TypeField and Description
      java.lang.Stringdesc +
      type descriptor, in TypeDescriptor format
      +
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      DexType(java.lang.String desc) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..f111e8aab --- /dev/null +++ b/api/proguard/dexfile/reader/Field.html @@ -0,0 +1,328 @@ + + + + + +Field (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 
      Constructor and Description
      Field(java.lang.String owner, + java.lang.String name, + java.lang.String type) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..04ea945cf --- /dev/null +++ b/api/proguard/dexfile/reader/InstructionFormat.html @@ -0,0 +1,662 @@ + + + + + +InstructionFormat (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..8aa7d379e --- /dev/null +++ b/api/proguard/dexfile/reader/InstructionIndexType.html @@ -0,0 +1,458 @@ + + + + + +InstructionIndexType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..ca8c9c236 --- /dev/null +++ b/api/proguard/dexfile/reader/Method.html @@ -0,0 +1,419 @@ + + + + + +Method (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 
      Constructor and Description
      Method(java.lang.String owner, + java.lang.String name, + Proto proto) 
      Method(java.lang.String owner, + java.lang.String name, + java.lang.String[] parameterTypes, + java.lang.String returnType) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..96e4773ee --- /dev/null +++ b/api/proguard/dexfile/reader/MethodHandle.html @@ -0,0 +1,536 @@ + + + + + +MethodHandle (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..58f574c19 --- /dev/null +++ b/api/proguard/dexfile/reader/Op.html @@ -0,0 +1,3184 @@ + + + + + +Op (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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..4d93d9b8a --- /dev/null +++ b/api/proguard/dexfile/reader/Proto.html @@ -0,0 +1,334 @@ + + + + + +Proto (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

Class Proto

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.Proto
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class Proto
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Proto(java.lang.String[] parameterTypes, + java.lang.String returnType) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..20c25ada1 --- /dev/null +++ b/api/proguard/dexfile/reader/Visibility.html @@ -0,0 +1,399 @@ + + + + + +Visibility (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader
+

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 Constant and Description
      BUILD 
      RUNTIME 
      SYSTEM 
      +
    • +
    + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      intvalue 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..14a5ba2c7 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexAnnotationNode.Item.html @@ -0,0 +1,289 @@ + + + + + +DexAnnotationNode.Item (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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 TypeField and Description
      java.lang.Stringname 
      java.lang.Objectvalue 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..6642bce93 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexAnnotationNode.html @@ -0,0 +1,490 @@ + + + + + +DexAnnotationNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..d4ff4492a --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexClassNode.html @@ -0,0 +1,543 @@ + + + + + +DexClassNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

Class DexClassNode

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/dexfile/reader/node/DexCodeNode.html b/api/proguard/dexfile/reader/node/DexCodeNode.html new file mode 100644 index 000000000..304e378d5 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexCodeNode.html @@ -0,0 +1,1009 @@ + + + + + +DexCodeNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..f01fb9c58 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.EndLocal.html @@ -0,0 +1,341 @@ + + + + + +DexDebugNode.DexDebugOpNode.EndLocal (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..20ca9ef73 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Epiogue.html @@ -0,0 +1,311 @@ + + + + + +DexDebugNode.DexDebugOpNode.Epiogue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..c5d8fcfae --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.LineNumber.html @@ -0,0 +1,341 @@ + + + + + +DexDebugNode.DexDebugOpNode.LineNumber (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..36aaabb29 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.Prologue.html @@ -0,0 +1,311 @@ + + + + + +DexDebugNode.DexDebugOpNode.Prologue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..d19013fdf --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.RestartLocal.html @@ -0,0 +1,341 @@ + + + + + +DexDebugNode.DexDebugOpNode.RestartLocal (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..99f20f223 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.StartLocalNode.html @@ -0,0 +1,386 @@ + + + + + +DexDebugNode.DexDebugOpNode.StartLocalNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..78e88c0e0 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.DexDebugOpNode.html @@ -0,0 +1,353 @@ + + + + + +DexDebugNode.DexDebugOpNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..de877c178 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexDebugNode.html @@ -0,0 +1,535 @@ + + + + + +DexDebugNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..f35b311fc --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexFieldNode.html @@ -0,0 +1,430 @@ + + + + + +DexFieldNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..fb65d1410 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexFileNode.html @@ -0,0 +1,389 @@ + + + + + +DexFileNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..a543c0183 --- /dev/null +++ b/api/proguard/dexfile/reader/node/DexMethodNode.html @@ -0,0 +1,473 @@ + + + + + +DexMethodNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..7ab4d2808 --- /dev/null +++ b/api/proguard/dexfile/reader/node/TryCatchNode.html @@ -0,0 +1,349 @@ + + + + + +TryCatchNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node
+

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..c7c241854 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/DvmFrame.html @@ -0,0 +1,419 @@ + + + + + +DvmFrame (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.analysis
+

Class DvmFrame<V>

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.analysis.DvmFrame<V>
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class DvmFrame<V>
    +extends java.lang.Object
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..4d6b30e94 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/DvmInterpreter.html @@ -0,0 +1,395 @@ + + + + + +DvmInterpreter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.analysis
+

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-frame.html b/api/proguard/dexfile/reader/node/analysis/package-frame.html new file mode 100644 index 000000000..d1a5cd6a4 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.dexfile.reader.node.analysis (ProGuardCORE) + + + + +

proguard.dexfile.reader.node.analysis

+
+

Classes

+ +
+ + 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..cc7ab4620 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/package-summary.html @@ -0,0 +1,143 @@ + + + + + +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..5eb492d47 --- /dev/null +++ b/api/proguard/dexfile/reader/node/analysis/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..78fcdfa92 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/AbstractMethodStmtNode.html @@ -0,0 +1,329 @@ + + + + + +AbstractMethodStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class AbstractMethodStmtNode

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

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      int[]args 
      + +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..d17f3d85d --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/BaseSwitchStmtNode.html @@ -0,0 +1,312 @@ + + + + + +BaseSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class BaseSwitchStmtNode

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

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      DexLabel[]labels 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      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..d5c36ffaf --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/ConstStmtNode.html @@ -0,0 +1,337 @@ + + + + + +ConstStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class ConstStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class ConstStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      java.lang.Objectvalue 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ConstStmtNode(Op op, + int a, + java.lang.Object value) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..ea5771416 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/DexLabelStmtNode.html @@ -0,0 +1,320 @@ + + + + + +DexLabelStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class DexLabelStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class DexLabelStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      DexLabellabel 
      + +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..78ae7537f --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/DexStmtNode.html @@ -0,0 +1,323 @@ + + + + + +DexStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class DexStmtNode

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.node.insn.DexStmtNode
    • +
    +
  • +
+ +
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      int__index 
      Opop 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + +
      Constructors 
      ModifierConstructor and Description
      protected DexStmtNode(Op op) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..61ebeb95c --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FieldStmtNode.html @@ -0,0 +1,352 @@ + + + + + +FieldStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class FieldStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class FieldStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      intb 
      Fieldfield 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      FieldStmtNode(Op op, + int a, + int b, + Field field) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..78d6d7f18 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FillArrayDataStmtNode.html @@ -0,0 +1,337 @@ + + + + + +FillArrayDataStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class FillArrayDataStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class FillArrayDataStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      java.lang.Objectarray 
      intra 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      FillArrayDataStmtNode(Op op, + int ra, + java.lang.Object array) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..6b9be791f --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/FilledNewArrayStmtNode.html @@ -0,0 +1,337 @@ + + + + + +FilledNewArrayStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class FilledNewArrayStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class FilledNewArrayStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      int[]args 
      java.lang.Stringtype 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      FilledNewArrayStmtNode(Op op, + int[] args, + java.lang.String type) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..e81bdfbfb --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/JumpStmtNode.html @@ -0,0 +1,352 @@ + + + + + +JumpStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class JumpStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class JumpStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      intb 
      DexLabellabel 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      JumpStmtNode(Op op, + int a, + int b, + DexLabel label) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..609884b73 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodCustomStmtNode.html @@ -0,0 +1,398 @@ + + + + + +MethodCustomStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

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..f565bf3fc --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodPolymorphicStmtNode.html @@ -0,0 +1,368 @@ + + + + + +MethodPolymorphicStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

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..1e3087abc --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/MethodStmtNode.html @@ -0,0 +1,353 @@ + + + + + +MethodStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

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..c0a984660 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/PackedSwitchStmtNode.html @@ -0,0 +1,338 @@ + + + + + +PackedSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class PackedSwitchStmtNode

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      PackedSwitchStmtNode(Op op, + int a, + int first_case, + DexLabel[] labels) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..f702a208c --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/SparseSwitchStmtNode.html @@ -0,0 +1,338 @@ + + + + + +SparseSwitchStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class SparseSwitchStmtNode

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..d7a4ca4ea --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt0RNode.html @@ -0,0 +1,292 @@ + + + + + +Stmt0RNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class Stmt0RNode

+
+
+ +
+
    +
  • +
    +
    +
    public class Stmt0RNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Stmt0RNode(Op op) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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/Stmt1RNode.html b/api/proguard/dexfile/reader/node/insn/Stmt1RNode.html new file mode 100644 index 000000000..455a39041 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt1RNode.html @@ -0,0 +1,322 @@ + + + + + +Stmt1RNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class Stmt1RNode

+
+
+ +
+
    +
  • +
    +
    +
    public class Stmt1RNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Stmt1RNode(Op op, + int a) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..208b225f6 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt2R1NNode.html @@ -0,0 +1,352 @@ + + + + + +Stmt2R1NNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class Stmt2R1NNode

+
+
+ +
+
    +
  • +
    +
    +
    public class Stmt2R1NNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      intcontent 
      intdistReg 
      intsrcReg 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Stmt2R1NNode(Op op, + int distReg, + int srcReg, + int content) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..76155666e --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt2RNode.html @@ -0,0 +1,337 @@ + + + + + +Stmt2RNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class Stmt2RNode

+
+
+ +
+
    +
  • +
    +
    +
    public class Stmt2RNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      intb 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Stmt2RNode(Op op, + int a, + int b) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..10f2b7026 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/Stmt3RNode.html @@ -0,0 +1,352 @@ + + + + + +Stmt3RNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class Stmt3RNode

+
+
+ +
+
    +
  • +
    +
    +
    public class Stmt3RNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      intb 
      intc 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      Stmt3RNode(Op op, + int a, + int b, + int c) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..eeb821764 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/TypeStmtNode.html @@ -0,0 +1,352 @@ + + + + + +TypeStmtNode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.node.insn
+

Class TypeStmtNode

+
+
+ +
+
    +
  • +
    +
    +
    public class TypeStmtNode
    +extends DexStmtNode
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Field Summary

      + + + + + + + + + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      inta 
      intb 
      java.lang.Stringtype 
      + +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TypeStmtNode(Op op, + int a, + int b, + java.lang.String type) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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-frame.html b/api/proguard/dexfile/reader/node/insn/package-frame.html new file mode 100644 index 000000000..d39aac03e --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/package-frame.html @@ -0,0 +1,38 @@ + + + + + +proguard.dexfile.reader.node.insn (ProGuardCORE) + + + + +

proguard.dexfile.reader.node.insn

+ + + 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..5e6466eac --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/package-summary.html @@ -0,0 +1,215 @@ + + + + + +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..54cf2d166 --- /dev/null +++ b/api/proguard/dexfile/reader/node/insn/package-tree.html @@ -0,0 +1,162 @@ + + + + + +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-frame.html b/api/proguard/dexfile/reader/node/package-frame.html new file mode 100644 index 000000000..8fd6b6c70 --- /dev/null +++ b/api/proguard/dexfile/reader/node/package-frame.html @@ -0,0 +1,34 @@ + + + + + +proguard.dexfile.reader.node (ProGuardCORE) + + + + +

proguard.dexfile.reader.node

+ + + 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..ec87f8b89 --- /dev/null +++ b/api/proguard/dexfile/reader/node/package-summary.html @@ -0,0 +1,199 @@ + + + + + +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..5e7728545 --- /dev/null +++ b/api/proguard/dexfile/reader/node/package-tree.html @@ -0,0 +1,180 @@ + + + + + +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-frame.html b/api/proguard/dexfile/reader/package-frame.html new file mode 100644 index 000000000..3815ad871 --- /dev/null +++ b/api/proguard/dexfile/reader/package-frame.html @@ -0,0 +1,44 @@ + + + + + +proguard.dexfile.reader (ProGuardCORE) + + + + +

proguard.dexfile.reader

+ + + diff --git a/api/proguard/dexfile/reader/package-summary.html b/api/proguard/dexfile/reader/package-summary.html new file mode 100644 index 000000000..b9579543c --- /dev/null +++ b/api/proguard/dexfile/reader/package-summary.html @@ -0,0 +1,250 @@ + + + + + +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..d918bf0c6 --- /dev/null +++ b/api/proguard/dexfile/reader/package-tree.html @@ -0,0 +1,176 @@ + + + + + +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..928de3bae --- /dev/null +++ b/api/proguard/dexfile/reader/util/InputStreams.html @@ -0,0 +1,273 @@ + + + + + +InputStreams (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.util
+

Class InputStreams

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.util.InputStreams
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class InputStreams
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      InputStreams() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..84a7783ab --- /dev/null +++ b/api/proguard/dexfile/reader/util/Mutf8.html @@ -0,0 +1,291 @@ + + + + + +Mutf8 (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.util
+

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 TypeMethod and Description
      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-frame.html b/api/proguard/dexfile/reader/util/package-frame.html new file mode 100644 index 000000000..b060d0d1c --- /dev/null +++ b/api/proguard/dexfile/reader/util/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.dexfile.reader.util (ProGuardCORE) + + + + +

proguard.dexfile.reader.util

+
+

Classes

+ +
+ + 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..f15cc929d --- /dev/null +++ b/api/proguard/dexfile/reader/util/package-summary.html @@ -0,0 +1,145 @@ + + + + + +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..bb70e1d6e --- /dev/null +++ b/api/proguard/dexfile/reader/util/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..dfa51d4cf --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexAnnotationAble.html @@ -0,0 +1,234 @@ + + + + + +DexAnnotationAble (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

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..4f7d7ebe7 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexAnnotationVisitor.html @@ -0,0 +1,416 @@ + + + + + +DexAnnotationVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

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 TypeMethod and Description
      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..c83ba844b --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexClassVisitor.html @@ -0,0 +1,401 @@ + + + + + +DexClassVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

Class DexClassVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexClassVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DexClassVisitor

        +
        public DexClassVisitor()
        +
      • +
      + + + +
        +
      • +

        DexClassVisitor

        +
        public DexClassVisitor(DexClassVisitor dcv)
        +
        +
        Parameters:
        +
        dcv -
        +
        +
      • +
      +
    • +
    + + +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html b/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html new file mode 100644 index 000000000..d62e8b673 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexCodeVisitor.html @@ -0,0 +1,896 @@ + + + + + +DexCodeVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

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 TypeField and Description
      protected DexCodeVisitorvisitor 
      +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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, + 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
      +
      voidvisitMethodStmt(Op op, + int[] args, + java.lang.String name, + Proto proto, + MethodHandle bsm, + java.lang.Object... bsmArgs) +
      + OP_INVOKE_CUSTOM
      +
      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..f2c4e4e46 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexDebugVisitor.html @@ -0,0 +1,445 @@ + + + + + +DexDebugVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

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()
        +
      • +
      + + + + +
    • +
    + +
      +
    • + + +

      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..0b57fb941 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexFieldVisitor.html @@ -0,0 +1,352 @@ + + + + + +DexFieldVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

Class DexFieldVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.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..b5952b397 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexFileVisitor.html @@ -0,0 +1,352 @@ + + + + + +DexFileVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

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 TypeField and Description
      protected DexFileVisitorvisitor 
      +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..53ec7f905 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/DexMethodVisitor.html @@ -0,0 +1,382 @@ + + + + + +DexMethodVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.dexfile.reader.visitors
+

Class DexMethodVisitor

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.dexfile.reader.visitors.DexMethodVisitor
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/dexfile/reader/visitors/package-frame.html b/api/proguard/dexfile/reader/visitors/package-frame.html new file mode 100644 index 000000000..9c79e8d25 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/package-frame.html @@ -0,0 +1,29 @@ + + + + + +proguard.dexfile.reader.visitors (ProGuardCORE) + + + + +

proguard.dexfile.reader.visitors

+ + + 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..f27eca010 --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/package-summary.html @@ -0,0 +1,182 @@ + + + + + +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..c9b5e22fc --- /dev/null +++ b/api/proguard/dexfile/reader/visitors/package-tree.html @@ -0,0 +1,144 @@ + + + + + +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..22496764a --- /dev/null +++ b/api/proguard/evaluation/BasicBranchUnit.html @@ -0,0 +1,459 @@ + + + + + +BasicBranchUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 
      Constructor and Description
      BasicBranchUnit() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..c9d68741b --- /dev/null +++ b/api/proguard/evaluation/BasicInvocationUnit.html @@ -0,0 +1,674 @@ + + + + + +BasicInvocationUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

Class BasicInvocationUnit

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/BranchUnit.html b/api/proguard/evaluation/BranchUnit.html new file mode 100644 index 000000000..0a91849e7 --- /dev/null +++ b/api/proguard/evaluation/BranchUnit.html @@ -0,0 +1,288 @@ + + + + + +BranchUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 TypeMethod and Description
      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..fdd8368dd --- /dev/null +++ b/api/proguard/evaluation/ClassConstantValueFactory.html @@ -0,0 +1,316 @@ + + + + + +ClassConstantValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

Class ClassConstantValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/ConstantValueFactory.html b/api/proguard/evaluation/ConstantValueFactory.html new file mode 100644 index 000000000..00b209140 --- /dev/null +++ b/api/proguard/evaluation/ConstantValueFactory.html @@ -0,0 +1,529 @@ + + + + + +ConstantValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..ea35452f1 --- /dev/null +++ b/api/proguard/evaluation/ExecutingInvocationUnit.Builder.html @@ -0,0 +1,471 @@ + + + + + +ExecutingInvocationUnit.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..aefba2b44 --- /dev/null +++ b/api/proguard/evaluation/ExecutingInvocationUnit.html @@ -0,0 +1,624 @@ + + + + + +ExecutingInvocationUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..b19771cf7 --- /dev/null +++ b/api/proguard/evaluation/IncompleteClassHierarchyException.html @@ -0,0 +1,290 @@ + + + + + +IncompleteClassHierarchyException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..1b4cdd64b --- /dev/null +++ b/api/proguard/evaluation/InitializationFinder.html @@ -0,0 +1,513 @@ + + + + + +InitializationFinder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..9e9513627 --- /dev/null +++ b/api/proguard/evaluation/InvocationUnit.html @@ -0,0 +1,307 @@ + + + + + +InvocationUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..48ac58ee3 --- /dev/null +++ b/api/proguard/evaluation/LivenessAnalyzer.html @@ -0,0 +1,595 @@ + + + + + +LivenessAnalyzer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..4c8462142 --- /dev/null +++ b/api/proguard/evaluation/MethodResult.Builder.html @@ -0,0 +1,374 @@ + + + + + +MethodResult.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..3b66c1b2c --- /dev/null +++ b/api/proguard/evaluation/MethodResult.html @@ -0,0 +1,429 @@ + + + + + +MethodResult (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..74bf3ad71 --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.Builder.html @@ -0,0 +1,429 @@ + + + + + +PartialEvaluator.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..c3a37d026 --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.InstructionBlock.html @@ -0,0 +1,200 @@ + + + + + +PartialEvaluator.InstructionBlock (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..33829c236 --- /dev/null +++ b/api/proguard/evaluation/PartialEvaluator.html @@ -0,0 +1,953 @@ + + + + + +PartialEvaluator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..a1ae846cc --- /dev/null +++ b/api/proguard/evaluation/ParticularReferenceValueFactory.html @@ -0,0 +1,639 @@ + + + + + +ParticularReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

Class ParticularReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/Processor.html b/api/proguard/evaluation/Processor.html new file mode 100644 index 000000000..29387187d --- /dev/null +++ b/api/proguard/evaluation/Processor.html @@ -0,0 +1,442 @@ + + + + + +Processor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..2e52a5192 --- /dev/null +++ b/api/proguard/evaluation/ReferenceTracingInvocationUnit.html @@ -0,0 +1,670 @@ + + + + + +ReferenceTracingInvocationUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

Class ReferenceTracingInvocationUnit

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/ReferenceTracingValueFactory.html b/api/proguard/evaluation/ReferenceTracingValueFactory.html new file mode 100644 index 000000000..463dcea37 --- /dev/null +++ b/api/proguard/evaluation/ReferenceTracingValueFactory.html @@ -0,0 +1,1082 @@ + + + + + +ReferenceTracingValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..c5fe2dcf9 --- /dev/null +++ b/api/proguard/evaluation/SimplifiedInvocationUnit.html @@ -0,0 +1,811 @@ + + + + + +SimplifiedInvocationUnit (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..6db6f9114 --- /dev/null +++ b/api/proguard/evaluation/Stack.html @@ -0,0 +1,906 @@ + + + + + +Stack (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 
      Constructor and Description
      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 TypeMethod and Description
      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_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.
      +
      voiddup() +
      Duplicates the top Category 1 value.
      +
      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).
      +
      voiddup2() +
      Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
      +
      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 with references to .
      +
      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 with references to .
        +
      • +
      + + + +
        +
      • +

        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..033bd8a74 --- /dev/null +++ b/api/proguard/evaluation/TracedStack.html @@ -0,0 +1,796 @@ + + + + + +TracedStack (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 
      Constructor and Description
      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 TypeMethod and Description
      voidclear() +
      Clears the stack.
      +
      voidcopy(TracedStack other) 
      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.
      +
      voiddup() +
      Duplicates the top Category 1 value.
      +
      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).
      +
      voiddup2() +
      Duplicates the top Category 2 value (or alternatively, the equivalent Category 1 stack + elements).
      +
      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
        +
        +
      • +
      + + + + + + + +
        +
      • +

        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..4287c2610 --- /dev/null +++ b/api/proguard/evaluation/TracedVariables.html @@ -0,0 +1,522 @@ + + + + + +TracedVariables (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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..42dafeba9 --- /dev/null +++ b/api/proguard/evaluation/ValueCalculator.html @@ -0,0 +1,273 @@ + + + + + +ValueCalculator (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 TypeMethod and Description
      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..209a46354 --- /dev/null +++ b/api/proguard/evaluation/Variables.html @@ -0,0 +1,617 @@ + + + + + +Variables (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation
+

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 TypeField and Description
      protected intsize 
      protected Value[]values 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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.
      +
      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 with references to .
      +
      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.
        +
      • +
      + + + +
        +
      • +

        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 with references to .
        +
      • +
      + + + +
        +
      • +

        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..c50446313 --- /dev/null +++ b/api/proguard/evaluation/exception/ArrayIndexOutOfBounds.html @@ -0,0 +1,327 @@ + + + + + +ArrayIndexOutOfBounds (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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 
      Constructor and Description
      ArrayIndexOutOfBounds(int index, + int bound) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..bcd9c1d78 --- /dev/null +++ b/api/proguard/evaluation/exception/ArrayStoreTypeException.html @@ -0,0 +1,325 @@ + + + + + +ArrayStoreTypeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..963f270d7 --- /dev/null +++ b/api/proguard/evaluation/exception/EmptyCodeAttributeException.html @@ -0,0 +1,276 @@ + + + + + +EmptyCodeAttributeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..262c703b6 --- /dev/null +++ b/api/proguard/evaluation/exception/ExcessiveComplexityException.html @@ -0,0 +1,279 @@ + + + + + +ExcessiveComplexityException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..8d1a5fd37 --- /dev/null +++ b/api/proguard/evaluation/exception/IncompleteClassHierarchyException.html @@ -0,0 +1,283 @@ + + + + + +IncompleteClassHierarchyException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..2f724714e --- /dev/null +++ b/api/proguard/evaluation/exception/PartialEvaluatorException.html @@ -0,0 +1,363 @@ + + + + + +PartialEvaluatorException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..97f95dc7a --- /dev/null +++ b/api/proguard/evaluation/exception/StackCategoryOneException.html @@ -0,0 +1,313 @@ + + + + + +StackCategoryOneException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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
    +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      ValuegetFoundValue() 
      + +
        +
      • + + +

        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

      + + + +
        +
      • +

        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..147298b8c --- /dev/null +++ b/api/proguard/evaluation/exception/StackGeneralizationException.html @@ -0,0 +1,363 @@ + + + + + +StackGeneralizationException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..bab40bcc4 --- /dev/null +++ b/api/proguard/evaluation/exception/StackTypeException.html @@ -0,0 +1,328 @@ + + + + + +StackTypeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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 Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      StackTypeException(Value foundValue, + java.lang.String expectedType, + java.lang.Throwable cause) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      java.lang.StringgetExpectedType() 
      ValuegetFoundValue() 
      + +
        +
      • + + +

        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

      + + + +
        +
      • +

        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..b3249e37a --- /dev/null +++ b/api/proguard/evaluation/exception/ValueTypeException.html @@ -0,0 +1,325 @@ + + + + + +ValueTypeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

Class ValueTypeException

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ValueTypeException(java.lang.String exceptedType, + Value actualType) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      ValuegetActualType() 
      java.lang.StringgetExceptedType() 
      + +
        +
      • + + +

        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

      + + + +
        +
      • +

        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..f76eefeb7 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableEmptySlotException.html @@ -0,0 +1,289 @@ + + + + + +VariableEmptySlotException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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
    +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      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

      + + + +
        +
      • +

        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..09b94ac66 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableEvaluationException.html @@ -0,0 +1,323 @@ + + + + + +VariableEvaluationException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

Class VariableEvaluationException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..561a4dc3e --- /dev/null +++ b/api/proguard/evaluation/exception/VariableIndexOutOfBoundException.html @@ -0,0 +1,325 @@ + + + + + +VariableIndexOutOfBoundException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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..a018c4bf5 --- /dev/null +++ b/api/proguard/evaluation/exception/VariableTypeException.html @@ -0,0 +1,342 @@ + + + + + +VariableTypeException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

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 Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      VariableTypeException(int index, + Value foundValue, + java.lang.String expectedType, + java.lang.Throwable cause) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..69f748edd --- /dev/null +++ b/api/proguard/evaluation/exception/VariablesGeneralizationException.html @@ -0,0 +1,327 @@ + + + + + +VariablesGeneralizationException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.exception
+

Class VariablesGeneralizationException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • + +
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/exception/package-frame.html b/api/proguard/evaluation/exception/package-frame.html new file mode 100644 index 000000000..d02f52060 --- /dev/null +++ b/api/proguard/evaluation/exception/package-frame.html @@ -0,0 +1,33 @@ + + + + + +proguard.evaluation.exception (ProGuardCORE) + + + + +

proguard.evaluation.exception

+ + + diff --git a/api/proguard/evaluation/exception/package-summary.html b/api/proguard/evaluation/exception/package-summary.html new file mode 100644 index 000000000..fb8e164ea --- /dev/null +++ b/api/proguard/evaluation/exception/package-summary.html @@ -0,0 +1,215 @@ + + + + + +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..16016d345 --- /dev/null +++ b/api/proguard/evaluation/exception/package-tree.html @@ -0,0 +1,174 @@ + + + + + +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..a13ba4186 --- /dev/null +++ b/api/proguard/evaluation/executor/Executor.Builder.html @@ -0,0 +1,237 @@ + + + + + +Executor.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

Interface Executor.Builder<T extends Executor>

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    StringReflectionExecutor.Builder
    +
    +
    +
    Enclosing interface:
    +
    Executor
    +
    +
    +
    +
    public static interface Executor.Builder<T extends Executor>
    +
    A builder for the executor. It's important for each concrete executor to provide one in order + to be able to construct a fresh copy of the executor when needed + +

    For example this happens in ExecutingInvocationUnit.Builder, + since each invocation unit should use different executors in order to avoid undesired side + effects.

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

      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..e5d341c29 --- /dev/null +++ b/api/proguard/evaluation/executor/Executor.html @@ -0,0 +1,294 @@ + + + + + +Executor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

Interface Executor

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    ReflectionExecutor, StringReflectionExecutor
    +
    +
    +
    +
    public interface Executor
    +
    This abstract class specifies a modular component which can be added to a ExecutingInvocationUnit in order to extend its capabilities. An Executor specifies which + method calls it supports, what methods return their own instance and how a method result is + calculated.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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/MethodExecutionInfo.html b/api/proguard/evaluation/executor/MethodExecutionInfo.html new file mode 100644 index 000000000..782e32d5f --- /dev/null +++ b/api/proguard/evaluation/executor/MethodExecutionInfo.html @@ -0,0 +1,671 @@ + + + + + +MethodExecutionInfo (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

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,
        +                           Method method,
        +                           CodeLocation caller,
        +                           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..c5c73bd55 --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectionExecutor.InstanceCopyResult.html @@ -0,0 +1,287 @@ + + + + + +ReflectionExecutor.InstanceCopyResult (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

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..59c5f6fad --- /dev/null +++ b/api/proguard/evaluation/executor/ReflectionExecutor.html @@ -0,0 +1,384 @@ + + + + + +ReflectionExecutor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

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/StringReflectionExecutor.Builder.html b/api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html new file mode 100644 index 000000000..5e95c5392 --- /dev/null +++ b/api/proguard/evaluation/executor/StringReflectionExecutor.Builder.html @@ -0,0 +1,288 @@ + + + + + +StringReflectionExecutor.Builder (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

Class StringReflectionExecutor.Builder

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.StringReflectionExecutor.Builder
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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..0c4c0d07d --- /dev/null +++ b/api/proguard/evaluation/executor/StringReflectionExecutor.html @@ -0,0 +1,382 @@ + + + + + +StringReflectionExecutor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor
+

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..28c0a53a8 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/ExecutorInstanceHandler.html @@ -0,0 +1,229 @@ + + + + + +ExecutorInstanceHandler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor.instancehandler
+

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 TypeMethod and Description
      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..2ba8558ea --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/ExecutorMethodInstanceHandler.html @@ -0,0 +1,293 @@ + + + + + +ExecutorMethodInstanceHandler (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.executor.instancehandler
+

Class ExecutorMethodInstanceHandler

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.executor.instancehandler.ExecutorMethodInstanceHandler
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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-frame.html b/api/proguard/evaluation/executor/instancehandler/package-frame.html new file mode 100644 index 000000000..1027cf796 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/package-frame.html @@ -0,0 +1,23 @@ + + + + + +proguard.evaluation.executor.instancehandler (ProGuardCORE) + + + + +

proguard.evaluation.executor.instancehandler

+
+

Interfaces

+ +

Classes

+ +
+ + 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..647cd859f --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/package-summary.html @@ -0,0 +1,160 @@ + + + + + +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..f01cfeb47 --- /dev/null +++ b/api/proguard/evaluation/executor/instancehandler/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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-frame.html b/api/proguard/evaluation/executor/package-frame.html new file mode 100644 index 000000000..abfc52467 --- /dev/null +++ b/api/proguard/evaluation/executor/package-frame.html @@ -0,0 +1,28 @@ + + + + + +proguard.evaluation.executor (ProGuardCORE) + + + + +

proguard.evaluation.executor

+ + + diff --git a/api/proguard/evaluation/executor/package-summary.html b/api/proguard/evaluation/executor/package-summary.html new file mode 100644 index 000000000..d742eabb1 --- /dev/null +++ b/api/proguard/evaluation/executor/package-summary.html @@ -0,0 +1,188 @@ + + + + + +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..6931d4bfb --- /dev/null +++ b/api/proguard/evaluation/executor/package-tree.html @@ -0,0 +1,146 @@ + + + + + +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-frame.html b/api/proguard/evaluation/package-frame.html new file mode 100644 index 000000000..d18704891 --- /dev/null +++ b/api/proguard/evaluation/package-frame.html @@ -0,0 +1,50 @@ + + + + + +proguard.evaluation (ProGuardCORE) + + + + +

proguard.evaluation

+ + + diff --git a/api/proguard/evaluation/package-summary.html b/api/proguard/evaluation/package-summary.html new file mode 100644 index 000000000..05c00238f --- /dev/null +++ b/api/proguard/evaluation/package-summary.html @@ -0,0 +1,336 @@ + + + + + +proguard.evaluation (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.evaluation

+
+
This package contains classes to perform partial evaluation (also known as +abstract evaluation, symbolic execution).
+
+

See: Description

+
+
+ + + + +

Package proguard.evaluation Description

+
This package contains classes to perform partial evaluation (also known as +abstract evaluation, symbolic execution).
+
+ + + + + + diff --git a/api/proguard/evaluation/package-tree.html b/api/proguard/evaluation/package-tree.html new file mode 100644 index 000000000..06aa615a9 --- /dev/null +++ b/api/proguard/evaluation/package-tree.html @@ -0,0 +1,201 @@ + + + + + +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..d88214fb8 --- /dev/null +++ b/api/proguard/evaluation/util/DebugPrinter.html @@ -0,0 +1,861 @@ + + + + + +DebugPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.util
+

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..e4774dba3 --- /dev/null +++ b/api/proguard/evaluation/util/PartialEvaluatorStateTracker.html @@ -0,0 +1,717 @@ + + + + + +PartialEvaluatorStateTracker (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.util
+

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..0d8e1776e --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/JsonPrinter.html @@ -0,0 +1,717 @@ + + + + + +JsonPrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.util.jsonprinter
+

Class JsonPrinter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.util.jsonprinter.JsonPrinter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/util/jsonprinter/package-frame.html b/api/proguard/evaluation/util/jsonprinter/package-frame.html new file mode 100644 index 000000000..506a82c04 --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.evaluation.util.jsonprinter (ProGuardCORE) + + + + +

proguard.evaluation.util.jsonprinter

+
+

Classes

+ +
+ + 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..e5b6df2e8 --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/package-summary.html @@ -0,0 +1,141 @@ + + + + + +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..c04e87e7d --- /dev/null +++ b/api/proguard/evaluation/util/jsonprinter/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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-frame.html b/api/proguard/evaluation/util/package-frame.html new file mode 100644 index 000000000..9646f0065 --- /dev/null +++ b/api/proguard/evaluation/util/package-frame.html @@ -0,0 +1,23 @@ + + + + + +proguard.evaluation.util (ProGuardCORE) + + + + +

proguard.evaluation.util

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/api/proguard/evaluation/util/package-summary.html b/api/proguard/evaluation/util/package-summary.html new file mode 100644 index 000000000..26e7e658f --- /dev/null +++ b/api/proguard/evaluation/util/package-summary.html @@ -0,0 +1,156 @@ + + + + + +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..6bc6d6dc2 --- /dev/null +++ b/api/proguard/evaluation/util/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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..558739b4d --- /dev/null +++ b/api/proguard/evaluation/value/ArrayReferenceValue.html @@ -0,0 +1,528 @@ + + + + + +ArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/ArrayReferenceValueFactory.html b/api/proguard/evaluation/value/ArrayReferenceValueFactory.html new file mode 100644 index 000000000..ed2858501 --- /dev/null +++ b/api/proguard/evaluation/value/ArrayReferenceValueFactory.html @@ -0,0 +1,336 @@ + + + + + +ArrayReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..5ba6bdfc4 --- /dev/null +++ b/api/proguard/evaluation/value/BasicRangeValueFactory.html @@ -0,0 +1,363 @@ + + + + + +BasicRangeValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..0feb7d21a --- /dev/null +++ b/api/proguard/evaluation/value/BasicValueFactory.html @@ -0,0 +1,1017 @@ + + + + + +BasicValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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
        +
        +
      • +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
      • +

        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..391dc8418 --- /dev/null +++ b/api/proguard/evaluation/value/Category1Value.html @@ -0,0 +1,330 @@ + + + + + +Category1Value (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..39ddcec00 --- /dev/null +++ b/api/proguard/evaluation/value/Category2Value.html @@ -0,0 +1,330 @@ + + + + + +Category2Value (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..e7962b735 --- /dev/null +++ b/api/proguard/evaluation/value/ComparisonValue.html @@ -0,0 +1,375 @@ + + + + + +ComparisonValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..a5f0000ea --- /dev/null +++ b/api/proguard/evaluation/value/CompositeDoubleValue.html @@ -0,0 +1,477 @@ + + + + + +CompositeDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..49806e516 --- /dev/null +++ b/api/proguard/evaluation/value/CompositeFloatValue.html @@ -0,0 +1,477 @@ + + + + + +CompositeFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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

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

        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..a741ac9e8 --- /dev/null +++ b/api/proguard/evaluation/value/CompositeIntegerValue.html @@ -0,0 +1,579 @@ + + + + + +CompositeIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..3f36340bb --- /dev/null +++ b/api/proguard/evaluation/value/CompositeLongValue.html @@ -0,0 +1,579 @@ + + + + + +CompositeLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..04f0b342d --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedByteValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedByteValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..64e4b7b34 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedCharacterValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedCharacterValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..f1ea85757 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedDoubleValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..20cf6621f --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedFloatValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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

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

        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..33dc1b680 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedIntegerValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..15c07a27a --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedLongValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..232bd5b08 --- /dev/null +++ b/api/proguard/evaluation/value/ConvertedShortValue.html @@ -0,0 +1,373 @@ + + + + + +ConvertedShortValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..66581d3e5 --- /dev/null +++ b/api/proguard/evaluation/value/DetailedArrayReferenceValue.html @@ -0,0 +1,692 @@ + + + + + +DetailedArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class DetailedArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/DetailedArrayValueFactory.html b/api/proguard/evaluation/value/DetailedArrayValueFactory.html new file mode 100644 index 000000000..b85d0ff8b --- /dev/null +++ b/api/proguard/evaluation/value/DetailedArrayValueFactory.html @@ -0,0 +1,379 @@ + + + + + +DetailedArrayValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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.
    +
  • +
+
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/DoubleValue.html b/api/proguard/evaluation/value/DoubleValue.html new file mode 100644 index 000000000..8abeea690 --- /dev/null +++ b/api/proguard/evaluation/value/DoubleValue.html @@ -0,0 +1,1012 @@ + + + + + +DoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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.
        +
      • +
      + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        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..dac6c5627 --- /dev/null +++ b/api/proguard/evaluation/value/FloatValue.html @@ -0,0 +1,1012 @@ + + + + + +FloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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.
        +
      • +
      + + + + + + + +
        +
      • +

        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..3aa79fb40 --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedArrayReferenceValue.html @@ -0,0 +1,566 @@ + + + + + +IdentifiedArrayReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class IdentifiedArrayReferenceValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/IdentifiedDoubleValue.html b/api/proguard/evaluation/value/IdentifiedDoubleValue.html new file mode 100644 index 000000000..5b22dffaa --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedDoubleValue.html @@ -0,0 +1,375 @@ + + + + + +IdentifiedDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..8ee71260a --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedFloatValue.html @@ -0,0 +1,375 @@ + + + + + +IdentifiedFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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

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

        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..5698c5aaf --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedIntegerValue.html @@ -0,0 +1,375 @@ + + + + + +IdentifiedIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..38b7961dd --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedLongValue.html @@ -0,0 +1,375 @@ + + + + + +IdentifiedLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..a68e12928 --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedReferenceValue.html @@ -0,0 +1,531 @@ + + + + + +IdentifiedReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..f68c5dd7f --- /dev/null +++ b/api/proguard/evaluation/value/IdentifiedValueFactory.html @@ -0,0 +1,654 @@ + + + + + +IdentifiedValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class IdentifiedValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/InitialValueFactory.html b/api/proguard/evaluation/value/InitialValueFactory.html new file mode 100644 index 000000000..8754eb9fa --- /dev/null +++ b/api/proguard/evaluation/value/InitialValueFactory.html @@ -0,0 +1,280 @@ + + + + + +InitialValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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 
      Constructor and Description
      InitialValueFactory(ValueFactory valueFactory) +
      Creates a new InitialValueFactory.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..045af884e --- /dev/null +++ b/api/proguard/evaluation/value/InstructionOffsetValue.html @@ -0,0 +1,897 @@ + + + + + +InstructionOffsetValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..3a50104a3 --- /dev/null +++ b/api/proguard/evaluation/value/IntegerValue.html @@ -0,0 +1,2717 @@ + + + + + +IntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        unsignedShiftRight

        +
        public IntegerValue unsignedShiftRight(SpecificIntegerValue other)
        +
        Returns this unsigned IntegerValue, shifted right by the given SpecificIntegerValue.
        +
      • +
      + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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..686d6f2cf --- /dev/null +++ b/api/proguard/evaluation/value/LongValue.html @@ -0,0 +1,1325 @@ + + + + + +LongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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.
        +
      • +
      + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + +
        +
      • +

        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.
        +
      • +
      + + + + + + + +
        +
      • +

        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..202d1d323 --- /dev/null +++ b/api/proguard/evaluation/value/MultiTypedReferenceValue.html @@ -0,0 +1,758 @@ + + + + + +MultiTypedReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..e0f334b32 --- /dev/null +++ b/api/proguard/evaluation/value/MultiTypedReferenceValueFactory.html @@ -0,0 +1,470 @@ + + + + + +MultiTypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class MultiTypedReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/NegatedDoubleValue.html b/api/proguard/evaluation/value/NegatedDoubleValue.html new file mode 100644 index 000000000..1b6ffd85a --- /dev/null +++ b/api/proguard/evaluation/value/NegatedDoubleValue.html @@ -0,0 +1,394 @@ + + + + + +NegatedDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..daabed78d --- /dev/null +++ b/api/proguard/evaluation/value/NegatedFloatValue.html @@ -0,0 +1,394 @@ + + + + + +NegatedFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class NegatedFloatValue

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

      Constructor Detail

      + + + +
        +
      • +

        NegatedFloatValue

        +
        public NegatedFloatValue(FloatValue floatValue)
        +
        Creates a new negated float value of the given float value.
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

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

        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..e6d94cf19 --- /dev/null +++ b/api/proguard/evaluation/value/NegatedIntegerValue.html @@ -0,0 +1,394 @@ + + + + + +NegatedIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..58452f4e2 --- /dev/null +++ b/api/proguard/evaluation/value/NegatedLongValue.html @@ -0,0 +1,394 @@ + + + + + +NegatedLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class NegatedLongValue

+
+
+ +
+
    +
  • +
    +
    +
    public final class NegatedLongValue
    +extends SpecificLongValue
    +
    This LongValue represents a long value that is negated.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..703134354 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularDoubleValue.html @@ -0,0 +1,923 @@ + + + + + +ParticularDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ParticularDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/ParticularFloatValue.html b/api/proguard/evaluation/value/ParticularFloatValue.html new file mode 100644 index 000000000..5b2e84e28 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularFloatValue.html @@ -0,0 +1,923 @@ + + + + + +ParticularFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ParticularFloatValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/ParticularIntegerValue.html b/api/proguard/evaluation/value/ParticularIntegerValue.html new file mode 100644 index 000000000..e2df0dc1c --- /dev/null +++ b/api/proguard/evaluation/value/ParticularIntegerValue.html @@ -0,0 +1,2072 @@ + + + + + +ParticularIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..2312e2b37 --- /dev/null +++ b/api/proguard/evaluation/value/ParticularLongValue.html @@ -0,0 +1,1176 @@ + + + + + +ParticularLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ParticularLongValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/ParticularReferenceValue.html b/api/proguard/evaluation/value/ParticularReferenceValue.html new file mode 100644 index 000000000..9be274a6f --- /dev/null +++ b/api/proguard/evaluation/value/ParticularReferenceValue.html @@ -0,0 +1,606 @@ + + + + + +ParticularReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..ea523bd4c --- /dev/null +++ b/api/proguard/evaluation/value/ParticularValueFactory.html @@ -0,0 +1,859 @@ + + + + + +ParticularValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ParticularValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html b/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html new file mode 100644 index 000000000..07d53e8ae --- /dev/null +++ b/api/proguard/evaluation/value/PrimitiveTypedReferenceValueFactory.html @@ -0,0 +1,378 @@ + + + + + +PrimitiveTypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..385232823 --- /dev/null +++ b/api/proguard/evaluation/value/RangeIntegerValue.html @@ -0,0 +1,2062 @@ + + + + + +RangeIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..73f807ad7 --- /dev/null +++ b/api/proguard/evaluation/value/RangeValueFactory.html @@ -0,0 +1,410 @@ + + + + + +RangeValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..9205c8823 --- /dev/null +++ b/api/proguard/evaluation/value/ReferenceValue.html @@ -0,0 +1,1086 @@ + + + + + +ReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..5017bcdb6 --- /dev/null +++ b/api/proguard/evaluation/value/ReflectiveMethodCallUtil.html @@ -0,0 +1,422 @@ + + + + + +ReflectiveMethodCallUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class ReflectiveMethodCallUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.ReflectiveMethodCallUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    Deprecated.  +
    This logic is now implemented in ReflectionExecutor
    +
    +
    +
    @Deprecated
    +public class ReflectiveMethodCallUtil
    +extends java.lang.Object
    +
    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 TypeMethod and Description
      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..1239e3ac9 --- /dev/null +++ b/api/proguard/evaluation/value/SpecificDoubleValue.html @@ -0,0 +1,874 @@ + + + + + +SpecificDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class SpecificDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/SpecificFloatValue.html b/api/proguard/evaluation/value/SpecificFloatValue.html new file mode 100644 index 000000000..9ad032834 --- /dev/null +++ b/api/proguard/evaluation/value/SpecificFloatValue.html @@ -0,0 +1,874 @@ + + + + + +SpecificFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class SpecificFloatValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/SpecificIntegerValue.html b/api/proguard/evaluation/value/SpecificIntegerValue.html new file mode 100644 index 000000000..13959cf6e --- /dev/null +++ b/api/proguard/evaluation/value/SpecificIntegerValue.html @@ -0,0 +1,2022 @@ + + + + + +SpecificIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class SpecificIntegerValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/SpecificLongValue.html b/api/proguard/evaluation/value/SpecificLongValue.html new file mode 100644 index 000000000..e30af53c1 --- /dev/null +++ b/api/proguard/evaluation/value/SpecificLongValue.html @@ -0,0 +1,1150 @@ + + + + + +SpecificLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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
        +
        +
      • +
      + + + + + + + + + + + +
        +
      • +

        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..21f8248d2 --- /dev/null +++ b/api/proguard/evaluation/value/TopValue.html @@ -0,0 +1,461 @@ + + + + + +TopValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..fdd4dcfa5 --- /dev/null +++ b/api/proguard/evaluation/value/TracedReferenceValue.html @@ -0,0 +1,1115 @@ + + + + + +TracedReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..a667a73f5 --- /dev/null +++ b/api/proguard/evaluation/value/TracingValue.html @@ -0,0 +1,659 @@ + + + + + +TracingValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..0ffee961a --- /dev/null +++ b/api/proguard/evaluation/value/TypedReferenceValue.html @@ -0,0 +1,892 @@ + + + + + +TypedReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class TypedReferenceValue

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

      Field Detail

      + + + +
        +
      • +

        ALLOW_INCOMPLETE_CLASS_HIERARCHY

        +
        public static boolean ALLOW_INCOMPLETE_CLASS_HIERARCHY
        +
      • +
      + + + +
        +
      • +

        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..ab2c161bf --- /dev/null +++ b/api/proguard/evaluation/value/TypedReferenceValueFactory.html @@ -0,0 +1,413 @@ + + + + + +TypedReferenceValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class TypedReferenceValueFactory

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/UnknownDoubleValue.html b/api/proguard/evaluation/value/UnknownDoubleValue.html new file mode 100644 index 000000000..68b578976 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownDoubleValue.html @@ -0,0 +1,654 @@ + + + + + +UnknownDoubleValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

Class UnknownDoubleValue

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/UnknownFloatValue.html b/api/proguard/evaluation/value/UnknownFloatValue.html new file mode 100644 index 000000000..42bf64884 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownFloatValue.html @@ -0,0 +1,654 @@ + + + + + +UnknownFloatValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..9c8272d15 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownIntegerValue.html @@ -0,0 +1,1032 @@ + + + + + +UnknownIntegerValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..3e8e44462 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownLongValue.html @@ -0,0 +1,795 @@ + + + + + +UnknownLongValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..24725b34b --- /dev/null +++ b/api/proguard/evaluation/value/UnknownReferenceValue.html @@ -0,0 +1,552 @@ + + + + + +UnknownReferenceValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..17d008cf3 --- /dev/null +++ b/api/proguard/evaluation/value/UnknownValue.html @@ -0,0 +1,394 @@ + + + + + +UnknownValue (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..5358fe52a --- /dev/null +++ b/api/proguard/evaluation/value/Value.html @@ -0,0 +1,724 @@ + + + + + +Value (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..2b9bb3e1f --- /dev/null +++ b/api/proguard/evaluation/value/ValueFactory.html @@ -0,0 +1,779 @@ + + + + + +ValueFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value
+

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..d5134d267 --- /dev/null +++ b/api/proguard/evaluation/value/object/AnalyzedObject.html @@ -0,0 +1,414 @@ + + + + + +AnalyzedObject (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value.object
+

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 TypeMethod and Description
      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..860ca8dca --- /dev/null +++ b/api/proguard/evaluation/value/object/AnalyzedObjectFactory.html @@ -0,0 +1,370 @@ + + + + + +AnalyzedObjectFactory (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value.object
+

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/ArrayModel.html b/api/proguard/evaluation/value/object/ArrayModel.html new file mode 100644 index 000000000..a8c5dc475 --- /dev/null +++ b/api/proguard/evaluation/value/object/ArrayModel.html @@ -0,0 +1,410 @@ + + + + + +ArrayModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value.object
+

Class ArrayModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.ArrayModel
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Model
    +
    +
    +
    +
    public class ArrayModel
    +extends java.lang.Object
    +implements Model
    +
    A Model to track array values.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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/ClassModel.html b/api/proguard/evaluation/value/object/ClassModel.html new file mode 100644 index 000000000..d5362804f --- /dev/null +++ b/api/proguard/evaluation/value/object/ClassModel.html @@ -0,0 +1,444 @@ + + + + + +ClassModel (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value.object
+

Class ClassModel

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.evaluation.value.object.ClassModel
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    Model
    +
    +
    +
    +
    public class ClassModel
    +extends java.lang.Object
    +implements Model
    +
    A Model to track specific Clazz constants.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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
        +
        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
        +
        +
      • +
      + + + +
        +
      • +

        getClazz

        +
        public Clazz getClazz()
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/evaluation/value/object/Model.html b/api/proguard/evaluation/value/object/Model.html new file mode 100644 index 000000000..9a58f76e7 --- /dev/null +++ b/api/proguard/evaluation/value/object/Model.html @@ -0,0 +1,323 @@ + + + + + +Model (ProGuardCORE) + + + + + + + + + + + +
+
proguard.evaluation.value.object
+

Interface Model

+
+
+
+
    +
  • +
    +
    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/package-frame.html b/api/proguard/evaluation/value/object/package-frame.html new file mode 100644 index 000000000..fd6b08776 --- /dev/null +++ b/api/proguard/evaluation/value/object/package-frame.html @@ -0,0 +1,26 @@ + + + + + +proguard.evaluation.value.object (ProGuardCORE) + + + + +

proguard.evaluation.value.object

+
+

Interfaces

+ +

Classes

+ +
+ + 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..b6566a215 --- /dev/null +++ b/api/proguard/evaluation/value/object/package-summary.html @@ -0,0 +1,176 @@ + + + + + +proguard.evaluation.value.object (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.evaluation.value.object

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    AnalyzedObject +
    A class wrapping values calculated during an analysis.
    +
    Model +
    This interface can be implemented for each class that needs to be modeled during an analysis.
    +
    +
  • +
  • + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    AnalyzedObjectFactory +
    Factory methods to create AnalyzedObject.
    +
    ArrayModel +
    A Model to track array values.
    +
    ClassModel +
    A Model to track specific Clazz constants.
    +
    +
  • +
+
+ + + + + + 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..90ae9f50c --- /dev/null +++ b/api/proguard/evaluation/value/object/package-tree.html @@ -0,0 +1,141 @@ + + + + + +proguard.evaluation.value.object Class Hierarchy (ProGuardCORE) + + + + + + + + + + +
+

Hierarchy For Package proguard.evaluation.value.object

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+

Interface Hierarchy

+ +
+ + + + + + diff --git a/api/proguard/evaluation/value/package-frame.html b/api/proguard/evaluation/value/package-frame.html new file mode 100644 index 000000000..82f1ecf44 --- /dev/null +++ b/api/proguard/evaluation/value/package-frame.html @@ -0,0 +1,88 @@ + + + + + +proguard.evaluation.value (ProGuardCORE) + + + + +

proguard.evaluation.value

+ + + diff --git a/api/proguard/evaluation/value/package-summary.html b/api/proguard/evaluation/value/package-summary.html new file mode 100644 index 000000000..39bd2e386 --- /dev/null +++ b/api/proguard/evaluation/value/package-summary.html @@ -0,0 +1,566 @@ + + + + + +proguard.evaluation.value (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.evaluation.value

+
+
This package contains classes that represent partial evaluation values.
+
+

See: Description

+
+
+ + + + +

Package proguard.evaluation.value Description

+
This package contains classes that represent partial evaluation values.
+
+ + + + + + diff --git a/api/proguard/evaluation/value/package-tree.html b/api/proguard/evaluation/value/package-tree.html new file mode 100644 index 000000000..b5dd8cce4 --- /dev/null +++ b/api/proguard/evaluation/value/package-tree.html @@ -0,0 +1,266 @@ + + + + + +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..c4cc97ae6 --- /dev/null +++ b/api/proguard/examples/AnalyzeTaints.html @@ -0,0 +1,271 @@ + + + + + +AnalyzeTaints (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      AnalyzeTaints() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..f9c9db9a4 --- /dev/null +++ b/api/proguard/examples/ApplyPeepholeOptimizations.html @@ -0,0 +1,272 @@ + + + + + +ApplyPeepholeOptimizations (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 TypeMethod and Description
      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..48b719eb1 --- /dev/null +++ b/api/proguard/examples/CreateHelloWorldClass.html @@ -0,0 +1,294 @@ + + + + + +CreateHelloWorldClass (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 TypeMethod and Description
      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..caaacabb4 --- /dev/null +++ b/api/proguard/examples/CyclomaticComplexity.html @@ -0,0 +1,276 @@ + + + + + +CyclomaticComplexity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 TypeMethod and Description
      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..cadad2aaf --- /dev/null +++ b/api/proguard/examples/EvaluateCode.html @@ -0,0 +1,286 @@ + + + + + +EvaluateCode (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      EvaluateCode() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..3f5e027e1 --- /dev/null +++ b/api/proguard/examples/FindBranches.html @@ -0,0 +1,275 @@ + + + + + +FindBranches (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      FindBranches() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..9e702cae7 --- /dev/null +++ b/api/proguard/examples/JarUtil.html @@ -0,0 +1,342 @@ + + + + + +JarUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      JarUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..2497e7941 --- /dev/null +++ b/api/proguard/examples/Preverify.html @@ -0,0 +1,271 @@ + + + + + +Preverify (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      Preverify() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..366ab4951 --- /dev/null +++ b/api/proguard/examples/PrintClasses.html @@ -0,0 +1,272 @@ + + + + + +PrintClasses (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      PrintClasses() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..2748787e4 --- /dev/null +++ b/api/proguard/examples/RemoveLogging.html @@ -0,0 +1,273 @@ + + + + + +RemoveLogging (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      RemoveLogging() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..431d668dc --- /dev/null +++ b/api/proguard/examples/TransformExample.MyTransformer.html @@ -0,0 +1,310 @@ + + + + + +TransformExample.MyTransformer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

Class TransformExample.MyTransformer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.TransformExample.MyTransformer
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    ClassVisitor
    +
    +
    +
    Enclosing class:
    +
    TransformExample
    +
    +
    +
    +
    public static class TransformExample.MyTransformer
    +extends java.lang.Object
    +implements ClassVisitor
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..35baaff44 --- /dev/null +++ b/api/proguard/examples/TransformExample.html @@ -0,0 +1,292 @@ + + + + + +TransformExample (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

Class TransformExample

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.TransformExample
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class TransformExample
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      TransformExample() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5ef9e4173 --- /dev/null +++ b/api/proguard/examples/VisualizeCfa.html @@ -0,0 +1,279 @@ + + + + + +VisualizeCfa (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 
      Constructor and Description
      VisualizeCfa() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..18053b8a3 --- /dev/null +++ b/api/proguard/examples/VisualizeControlFlow.html @@ -0,0 +1,277 @@ + + + + + +VisualizeControlFlow (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples
+

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 TypeMethod and Description
      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..3dd6be7ff --- /dev/null +++ b/api/proguard/examples/instrument/AddMethodInvocationLogging.html @@ -0,0 +1,277 @@ + + + + + +AddMethodInvocationLogging (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.instrument
+

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 TypeMethod and Description
      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..a1c960a14 --- /dev/null +++ b/api/proguard/examples/instrument/DebugStackTop.html @@ -0,0 +1,283 @@ + + + + + +DebugStackTop (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.instrument
+

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 
      Constructor and Description
      DebugStackTop() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..bd59b50c3 --- /dev/null +++ b/api/proguard/examples/instrument/DebugStackTopExample.html @@ -0,0 +1,282 @@ + + + + + +DebugStackTopExample (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.instrument
+

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 TypeMethod and Description
      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-frame.html b/api/proguard/examples/instrument/package-frame.html new file mode 100644 index 000000000..464ace444 --- /dev/null +++ b/api/proguard/examples/instrument/package-frame.html @@ -0,0 +1,21 @@ + + + + + +proguard.examples.instrument (ProGuardCORE) + + + + +

proguard.examples.instrument

+ + + diff --git a/api/proguard/examples/instrument/package-summary.html b/api/proguard/examples/instrument/package-summary.html new file mode 100644 index 000000000..1ee268e0a --- /dev/null +++ b/api/proguard/examples/instrument/package-summary.html @@ -0,0 +1,154 @@ + + + + + +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..2ce0eb5e1 --- /dev/null +++ b/api/proguard/examples/instrument/package-tree.html @@ -0,0 +1,136 @@ + + + + + +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..d2026e371 --- /dev/null +++ b/api/proguard/examples/modify/EditClass.html @@ -0,0 +1,378 @@ + + + + + +EditClass (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.modify
+

Class EditClass

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.examples.modify.EditClass
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      EditClass() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..b0a9a1b53 --- /dev/null +++ b/api/proguard/examples/modify/ReplaceSimpleConstantInstruction.html @@ -0,0 +1,281 @@ + + + + + +ReplaceSimpleConstantInstruction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.modify
+

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 TypeMethod and Description
      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-frame.html b/api/proguard/examples/modify/package-frame.html new file mode 100644 index 000000000..47b1c293f --- /dev/null +++ b/api/proguard/examples/modify/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.examples.modify (ProGuardCORE) + + + + +

proguard.examples.modify

+ + + diff --git a/api/proguard/examples/modify/package-summary.html b/api/proguard/examples/modify/package-summary.html new file mode 100644 index 000000000..6b39b6b37 --- /dev/null +++ b/api/proguard/examples/modify/package-summary.html @@ -0,0 +1,149 @@ + + + + + +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..084c1a4e7 --- /dev/null +++ b/api/proguard/examples/modify/package-tree.html @@ -0,0 +1,135 @@ + + + + + +proguard.examples.modify Class Hierarchy (ProGuardCORE) + + + + + + + + + + +
+

Hierarchy For Package proguard.examples.modify

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ + + + + + diff --git a/api/proguard/examples/package-frame.html b/api/proguard/examples/package-frame.html new file mode 100644 index 000000000..081e1f9e5 --- /dev/null +++ b/api/proguard/examples/package-frame.html @@ -0,0 +1,32 @@ + + + + + +proguard.examples (ProGuardCORE) + + + + +

proguard.examples

+ + + diff --git a/api/proguard/examples/package-summary.html b/api/proguard/examples/package-summary.html new file mode 100644 index 000000000..0bfa3b8f3 --- /dev/null +++ b/api/proguard/examples/package-summary.html @@ -0,0 +1,220 @@ + + + + + +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..51f0013e6 --- /dev/null +++ b/api/proguard/examples/package-tree.html @@ -0,0 +1,147 @@ + + + + + +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..9a10044c3 --- /dev/null +++ b/api/proguard/examples/util/ExampleUtil.html @@ -0,0 +1,351 @@ + + + + + +ExampleUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.examples.util
+

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 TypeMethod and Description
      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-frame.html b/api/proguard/examples/util/package-frame.html new file mode 100644 index 000000000..832087a7d --- /dev/null +++ b/api/proguard/examples/util/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.examples.util (ProGuardCORE) + + + + +

proguard.examples.util

+
+

Classes

+ +
+ + diff --git a/api/proguard/examples/util/package-summary.html b/api/proguard/examples/util/package-summary.html new file mode 100644 index 000000000..a1c1c4bd5 --- /dev/null +++ b/api/proguard/examples/util/package-summary.html @@ -0,0 +1,141 @@ + + + + + +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..f3d4a03c5 --- /dev/null +++ b/api/proguard/examples/util/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..b7ed533e6 --- /dev/null +++ b/api/proguard/exception/ErrorId.html @@ -0,0 +1,611 @@ + + + + + +ErrorId (ProGuardCORE) + + + + + + + + + + + +
+
proguard.exception
+

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
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/exception/InstructionExceptionFormatter.html b/api/proguard/exception/InstructionExceptionFormatter.html new file mode 100644 index 000000000..f098fdc83 --- /dev/null +++ b/api/proguard/exception/InstructionExceptionFormatter.html @@ -0,0 +1,309 @@ + + + + + +InstructionExceptionFormatter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.exception
+

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.html b/api/proguard/exception/ProguardCoreException.html new file mode 100644 index 000000000..219557390 --- /dev/null +++ b/api/proguard/exception/ProguardCoreException.html @@ -0,0 +1,355 @@ + + + + + +ProguardCoreException (ProGuardCORE) + + + + + + + + + + + +
+
proguard.exception
+

Class ProguardCoreException

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • java.lang.Throwable
    • +
    • +
        +
      • java.lang.Exception
      • +
      • +
          +
        • java.lang.RuntimeException
        • +
        • +
            +
          • proguard.exception.ProguardCoreException
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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-frame.html b/api/proguard/exception/package-frame.html new file mode 100644 index 000000000..042feac24 --- /dev/null +++ b/api/proguard/exception/package-frame.html @@ -0,0 +1,24 @@ + + + + + +proguard.exception (ProGuardCORE) + + + + +

proguard.exception

+ + + diff --git a/api/proguard/exception/package-summary.html b/api/proguard/exception/package-summary.html new file mode 100644 index 000000000..651c76192 --- /dev/null +++ b/api/proguard/exception/package-summary.html @@ -0,0 +1,162 @@ + + + + + +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.
    +
    +
  • +
  • + + + + + + + + + + + + +
    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..64bd407d3 --- /dev/null +++ b/api/proguard/exception/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..9fff7e180 --- /dev/null +++ b/api/proguard/io/CascadingDataEntryWriter.html @@ -0,0 +1,420 @@ + + + + + +CascadingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class CascadingDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.CascadingDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..fa6aebf01 --- /dev/null +++ b/api/proguard/io/ClassDataEntryWriter.html @@ -0,0 +1,449 @@ + + + + + +ClassDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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
    +
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..9e2a96705 --- /dev/null +++ b/api/proguard/io/ClassFilter.html @@ -0,0 +1,272 @@ + + + + + +ClassFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class ClassFilter

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

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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..6da8b63bd --- /dev/null +++ b/api/proguard/io/ClassMapDataEntryWriter.html @@ -0,0 +1,486 @@ + + + + + +ClassMapDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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..63668b0c8 --- /dev/null +++ b/api/proguard/io/ClassPath.html @@ -0,0 +1,394 @@ + + + + + +ClassPath (ProGuardCORE) + + + + + + + + + + + +
+
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..aebcf8b0f --- /dev/null +++ b/api/proguard/io/ClassPathDataEntry.html @@ -0,0 +1,462 @@ + + + + + +ClassPathDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..04bf3c08e --- /dev/null +++ b/api/proguard/io/ClassPathEntry.html @@ -0,0 +1,865 @@ + + + + + +ClassPathEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..b18aefeb8 --- /dev/null +++ b/api/proguard/io/ClassReader.html @@ -0,0 +1,350 @@ + + + + + +ClassReader (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..d8ab8ce89 --- /dev/null +++ b/api/proguard/io/D8BasedDexDataEntryWriter.html @@ -0,0 +1,391 @@ + + + + + +D8BasedDexDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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()
        +
        Description copied from class: DexDataEntryWriter
        +
        Creates a new class converter that collects converted classes in our Dex composer.
        +
      • +
      + + + +
        +
      • +

        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..1f04decc2 --- /dev/null +++ b/api/proguard/io/D8ClassConverter.D8DexFile.html @@ -0,0 +1,307 @@ + + + + + +D8ClassConverter.D8DexFile (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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..eb2556513 --- /dev/null +++ b/api/proguard/io/D8ClassConverter.html @@ -0,0 +1,329 @@ + + + + + +D8ClassConverter (ProGuardCORE) + + + + + + + + + + + +
+
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..cb20d3fb6 --- /dev/null +++ b/api/proguard/io/DataEntry.html @@ -0,0 +1,336 @@ + + + + + +DataEntry (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Interface DataEntry

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

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..37b4ded0b --- /dev/null +++ b/api/proguard/io/DataEntryClassInfoFilter.html @@ -0,0 +1,297 @@ + + + + + +DataEntryClassInfoFilter (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      DataEntryClassInfoFilter(ClassPool classPool, + java.lang.Object processingInfo) +
      Creates a new DataEntryClassInfoFilter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..4d33defac --- /dev/null +++ b/api/proguard/io/DataEntryClassWriter.html @@ -0,0 +1,330 @@ + + + + + +DataEntryClassWriter (ProGuardCORE) + + + + + + + + + + + +
+
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..f753a90e4 --- /dev/null +++ b/api/proguard/io/DataEntryCopier.html @@ -0,0 +1,334 @@ + + + + + +DataEntryCopier (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class DataEntryCopier

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryCopier
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      DataEntryCopier(DataEntryWriter dataEntryWriter) +
      Creates a new DataEntryCopier.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..2f0b5e48e --- /dev/null +++ b/api/proguard/io/DataEntryDirectoryFilter.html @@ -0,0 +1,286 @@ + + + + + +DataEntryDirectoryFilter (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..f5eb7d5ad --- /dev/null +++ b/api/proguard/io/DataEntryFilter.html @@ -0,0 +1,232 @@ + + + + + +DataEntryFilter (ProGuardCORE) + + + + + + + + + + + +
+
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..8495e691c --- /dev/null +++ b/api/proguard/io/DataEntryNameFilter.html @@ -0,0 +1,295 @@ + + + + + +DataEntryNameFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class DataEntryNameFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryNameFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..90a314e04 --- /dev/null +++ b/api/proguard/io/DataEntryParentFilter.html @@ -0,0 +1,293 @@ + + + + + +DataEntryParentFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class DataEntryParentFilter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.DataEntryParentFilter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..09f91d7ba --- /dev/null +++ b/api/proguard/io/DataEntryReader.html @@ -0,0 +1,232 @@ + + + + + +DataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
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..90ecfb3b9 --- /dev/null +++ b/api/proguard/io/DataEntryReaderFactory.html @@ -0,0 +1,312 @@ + + + + + +DataEntryReaderFactory (ProGuardCORE) + + + + + + + + + + + +
+
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..fc6122300 --- /dev/null +++ b/api/proguard/io/DataEntryRewriter.html @@ -0,0 +1,335 @@ + + + + + +DataEntryRewriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class DataEntryRewriter

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      DataEntryRewriter(ClassPool classPool, + java.nio.charset.Charset charset, + DataEntryWriter dataEntryWriter) +
      Creates a new DataEntryRewriter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..7cd63d6fa --- /dev/null +++ b/api/proguard/io/DataEntrySource.html @@ -0,0 +1,234 @@ + + + + + +DataEntrySource (ProGuardCORE) + + + + + + + + + + + +
+
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..24238efc4 --- /dev/null +++ b/api/proguard/io/DataEntryToken.html @@ -0,0 +1,287 @@ + + + + + +DataEntryToken (ProGuardCORE) + + + + + + + + + + + +
+
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..5686db56a --- /dev/null +++ b/api/proguard/io/DataEntryTokenType.html @@ -0,0 +1,339 @@ + + + + + +DataEntryTokenType (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Enum DataEntryTokenType

+
+
+
    +
  • java.lang.Object
  • +
  • + +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Enum Constant Summary

      + + + + + + + + + + + +
      Enum Constants 
      Enum Constant and Description
      JAVA_IDENTIFIER 
      OTHER 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..37b749c8e --- /dev/null +++ b/api/proguard/io/DataEntryTokenizer.html @@ -0,0 +1,276 @@ + + + + + +DataEntryTokenizer (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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..7763d44cf --- /dev/null +++ b/api/proguard/io/DataEntryWriter.html @@ -0,0 +1,348 @@ + + + + + +DataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Interface DataEntryWriter

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

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..da5bcff17 --- /dev/null +++ b/api/proguard/io/DataEntryWriterFactory.html @@ -0,0 +1,404 @@ + + + + + +DataEntryWriterFactory (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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..c7f3c2365 --- /dev/null +++ b/api/proguard/io/DexClassReader.html @@ -0,0 +1,350 @@ + + + + + +DexClassReader (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..c9ad82b2a --- /dev/null +++ b/api/proguard/io/DexDataEntryWriter.html @@ -0,0 +1,526 @@ + + + + + +DexDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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..55ce1d174 --- /dev/null +++ b/api/proguard/io/DexDataEntryWriterFactory.html @@ -0,0 +1,305 @@ + + + + + +DexDataEntryWriterFactory (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..dfafdc514 --- /dev/null +++ b/api/proguard/io/DirectoryFilter.html @@ -0,0 +1,272 @@ + + + + + +DirectoryFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class DirectoryFilter

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

      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..035f46450 --- /dev/null +++ b/api/proguard/io/DirectorySource.html @@ -0,0 +1,288 @@ + + + + + +DirectorySource (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      DirectorySource(java.io.File directory) +
      Creates a new DirectorySource for the given directory.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..86ec1b1e8 --- /dev/null +++ b/api/proguard/io/DirectoryWriter.html @@ -0,0 +1,415 @@ + + + + + +DirectoryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      DirectoryWriter(java.io.File baseDirectory) +
      Creates a new DirectoryWriter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..de40148f0 --- /dev/null +++ b/api/proguard/io/DummyDataEntry.html @@ -0,0 +1,445 @@ + + + + + +DummyDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..ba037ae00 --- /dev/null +++ b/api/proguard/io/FileDataEntry.html @@ -0,0 +1,480 @@ + + + + + +FileDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..e71661dac --- /dev/null +++ b/api/proguard/io/FileSource.html @@ -0,0 +1,333 @@ + + + + + +FileSource (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      FileSource(java.io.File file) +
      Creates a new FileSource.
      +
      FileSource(FileDataEntry fileDataEntry) +
      Creates a new FileSource.
      +
      FileSource(java.io.File directory, + java.io.File file) +
      Creates a new FileSource.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..76ae847b1 --- /dev/null +++ b/api/proguard/io/FilteredDataEntryReader.html @@ -0,0 +1,328 @@ + + + + + +FilteredDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
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..56124ebb7 --- /dev/null +++ b/api/proguard/io/FilteredDataEntryWriter.html @@ -0,0 +1,451 @@ + + + + + +FilteredDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class FilteredDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FilteredDataEntryWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..71fda5e7c --- /dev/null +++ b/api/proguard/io/Finisher.html @@ -0,0 +1,228 @@ + + + + + +Finisher (ProGuardCORE) + + + + + + + + + + + +
+
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..3bb52a5d8 --- /dev/null +++ b/api/proguard/io/FixedFileWriter.html @@ -0,0 +1,419 @@ + + + + + +FixedFileWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class FixedFileWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.FixedFileWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      FixedFileWriter(java.io.File file) +
      Creates a new FixedFileWriter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..f15fcbbdb --- /dev/null +++ b/api/proguard/io/IdleRewriter.html @@ -0,0 +1,287 @@ + + + + + +IdleRewriter (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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
      • +
      +
    • +
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      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..01a3adb4a --- /dev/null +++ b/api/proguard/io/JarReader.html @@ -0,0 +1,315 @@ + + + + + +JarReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class JarReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.JarReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..3542e73c1 --- /dev/null +++ b/api/proguard/io/JarWriter.MyMultiDigestOutputStream.html @@ -0,0 +1,371 @@ + + + + + +JarWriter.MyMultiDigestOutputStream (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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.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.io.Closeable
        +
        Specified by:
        +
        close in interface java.lang.AutoCloseable
        +
        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..2dce8c42c --- /dev/null +++ b/api/proguard/io/JarWriter.html @@ -0,0 +1,770 @@ + + + + + +JarWriter (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeClass and Description
      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 
      Constructor and Description
      JarWriter(DataEntryWriter zipEntryWriter) +
      Creates a new JarWriter wth default manifest digest "SHA-256" and 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(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, + java.lang.String creator, + java.lang.String manifestFileName, + StringFunction manifestEntryNameFunction, + DataEntryWriter zipEntryWriter, + DataEntryWriter manifestEntryWriter) +
      Creates a new JarWriter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..29aff1044 --- /dev/null +++ b/api/proguard/io/ManifestRewriter.html @@ -0,0 +1,317 @@ + + + + + +ManifestRewriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class ManifestRewriter

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ManifestRewriter(ClassPool classPool, + java.nio.charset.Charset charset, + DataEntryWriter dataEntryWriter) +
      Creates a new ManifestRewriter.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..19372ecf9 --- /dev/null +++ b/api/proguard/io/MultiDataEntryReader.html @@ -0,0 +1,284 @@ + + + + + +MultiDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class MultiDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.MultiDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..2cc0d9e8c --- /dev/null +++ b/api/proguard/io/NameFilteredDataEntryReader.html @@ -0,0 +1,360 @@ + + + + + +NameFilteredDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class NameFilteredDataEntryReader

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

      Constructor Summary

      + + + + + + + + + + + + + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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(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(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..3dd182f8c --- /dev/null +++ b/api/proguard/io/NameFilteredDataEntryWriter.html @@ -0,0 +1,360 @@ + + + + + +NameFilteredDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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..a5af6eead --- /dev/null +++ b/api/proguard/io/NamedDataEntry.html @@ -0,0 +1,441 @@ + + + + + +NamedDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      NamedDataEntry(DataEntry parent, + java.lang.String name, + long size, + boolean isDirectory) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..ae8e57be3 --- /dev/null +++ b/api/proguard/io/NonClosingDataEntryWriter.html @@ -0,0 +1,435 @@ + + + + + +NonClosingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      NonClosingDataEntryWriter(DataEntryWriter dataEntryWriter) +
      Creates a new NonClosingDataEntryWriter that won't close its delegate.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..9c8797ec0 --- /dev/null +++ b/api/proguard/io/ParallelDexClassReader.html @@ -0,0 +1,358 @@ + + + + + +ParallelDexClassReader (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeField and Description
      Dex2Prodex2pro 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ParallelDexClassReader(boolean readCode, + boolean usePrimitiveArrayConstants, + ClassVisitor classVisitor, + int maximumThreads) +
      Creates a new DexClassReader.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..f1c1d5b18 --- /dev/null +++ b/api/proguard/io/ParentDataEntryWriter.html @@ -0,0 +1,416 @@ + + + + + +ParentDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class ParentDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.ParentDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..5a7761b9f --- /dev/null +++ b/api/proguard/io/PrefixAddingDataEntryWriter.html @@ -0,0 +1,414 @@ + + + + + +PrefixAddingDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class PrefixAddingDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.PrefixAddingDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    +
    public class PrefixAddingDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter delegates to a given DataEntryWriter, each time adding a + prefix of the written data entry name.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..bd6bfa4bf --- /dev/null +++ b/api/proguard/io/PrefixStrippingDataEntryReader.html @@ -0,0 +1,291 @@ + + + + + +PrefixStrippingDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class PrefixStrippingDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.PrefixStrippingDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..b08f37226 --- /dev/null +++ b/api/proguard/io/RenamedDataEntry.html @@ -0,0 +1,330 @@ + + + + + +RenamedDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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..906378f40 --- /dev/null +++ b/api/proguard/io/RenamedDataEntryReader.html @@ -0,0 +1,323 @@ + + + + + +RenamedDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
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..221508183 --- /dev/null +++ b/api/proguard/io/RenamedDataEntryWriter.html @@ -0,0 +1,419 @@ + + + + + +RenamedDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class RenamedDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RenamedDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..6a73827fa --- /dev/null +++ b/api/proguard/io/RenamedParentDataEntryWriter.html @@ -0,0 +1,422 @@ + + + + + +RenamedParentDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io
+

Class RenamedParentDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.io.RenamedParentDataEntryWriter
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    java.lang.AutoCloseable, DataEntryWriter
    +
    +
    +
    +
    public class RenamedParentDataEntryWriter
    +extends java.lang.Object
    +implements DataEntryWriter
    +
    This DataEntryWriter delegates to another DataEntryWriter, renaming parent data + entries based on the given matcher.
    +
  • +
+
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..62fd2275b --- /dev/null +++ b/api/proguard/io/RuntimeDataInput.html @@ -0,0 +1,456 @@ + + + + + +RuntimeDataInput (ProGuardCORE) + + + + + + + + + + + +
+
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..5d691ecc9 --- /dev/null +++ b/api/proguard/io/RuntimeDataOutput.html @@ -0,0 +1,490 @@ + + + + + +RuntimeDataOutput (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      RuntimeDataOutput(java.io.DataOutput dataOutput) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..c3c09e554 --- /dev/null +++ b/api/proguard/io/SignedJarWriter.html @@ -0,0 +1,538 @@ + + + + + +SignedJarWriter (ProGuardCORE) + + + + + + + + + + + +
+
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..17d0a9f20 --- /dev/null +++ b/api/proguard/io/StreamingDataEntry.html @@ -0,0 +1,437 @@ + + + + + +StreamingDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      StreamingDataEntry(java.lang.String name, + java.io.InputStream inputStream) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..33ccd2074 --- /dev/null +++ b/api/proguard/io/WrappedDataEntry.html @@ -0,0 +1,475 @@ + + + + + +WrappedDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeField and Description
      protected DataEntrywrappedEntry 
      +
    • +
    + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..8f67b91ed --- /dev/null +++ b/api/proguard/io/ZipDataEntry.html @@ -0,0 +1,439 @@ + + + + + +ZipDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ZipDataEntry(DataEntry parent, + java.util.zip.ZipEntry zipEntry, + java.util.zip.ZipInputStream zipInputStream) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..41bf8dede --- /dev/null +++ b/api/proguard/io/ZipFileDataEntry.html @@ -0,0 +1,439 @@ + + + + + +ZipFileDataEntry (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ZipFileDataEntry(DataEntry parent, + java.util.zip.ZipEntry zipEntry, + java.util.zip.ZipFile zipFile) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..fd0c13c37 --- /dev/null +++ b/api/proguard/io/ZipOutput.LargeDataOutputStream.html @@ -0,0 +1,371 @@ + + + + + +ZipOutput.LargeDataOutputStream (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      LargeDataOutputStream(java.io.OutputStream out) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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.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..722aa18bb --- /dev/null +++ b/api/proguard/io/ZipOutput.html @@ -0,0 +1,886 @@ + + + + + +ZipOutput (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeClass and Description
      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 
      Constructor and Description
      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 TypeMethod and Description
      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..3112ea5d8 --- /dev/null +++ b/api/proguard/io/ZipWriter.html @@ -0,0 +1,668 @@ + + + + + +ZipWriter (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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-frame.html b/api/proguard/io/package-frame.html new file mode 100644 index 000000000..a67cc832c --- /dev/null +++ b/api/proguard/io/package-frame.html @@ -0,0 +1,93 @@ + + + + + +proguard.io (ProGuardCORE) + + + + +

proguard.io

+ + + diff --git a/api/proguard/io/package-summary.html b/api/proguard/io/package-summary.html new file mode 100644 index 000000000..bd38cd303 --- /dev/null +++ b/api/proguard/io/package-summary.html @@ -0,0 +1,613 @@ + + + + + +proguard.io (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.io

+
+
This package contains classes to read and write files, optionally wrapped in +jars, wars, ears, zips, directories,...
+
+

See: Description

+
+
+ + + + +

Package proguard.io Description

+
This package contains classes to read and write files, optionally wrapped in +jars, wars, ears, zips, directories,...
+
+ + + + + + diff --git a/api/proguard/io/package-tree.html b/api/proguard/io/package-tree.html new file mode 100644 index 000000000..3ebb92be1 --- /dev/null +++ b/api/proguard/io/package-tree.html @@ -0,0 +1,253 @@ + + + + + +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..4c9083061 --- /dev/null +++ b/api/proguard/io/util/ClassPathUtil.html @@ -0,0 +1,293 @@ + + + + + +ClassPathUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io.util
+

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 TypeMethod and Description
      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..d938c9ad2 --- /dev/null +++ b/api/proguard/io/util/IOUtil.html @@ -0,0 +1,510 @@ + + + + + +IOUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.io.util
+

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 TypeMethod and Description
      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 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(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 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-frame.html b/api/proguard/io/util/package-frame.html new file mode 100644 index 000000000..1a4671074 --- /dev/null +++ b/api/proguard/io/util/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.io.util (ProGuardCORE) + + + + +

proguard.io.util

+
+

Classes

+ +
+ + diff --git a/api/proguard/io/util/package-summary.html b/api/proguard/io/util/package-summary.html new file mode 100644 index 000000000..e7350117e --- /dev/null +++ b/api/proguard/io/util/package-summary.html @@ -0,0 +1,145 @@ + + + + + +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..7c54a84ad --- /dev/null +++ b/api/proguard/io/util/package-tree.html @@ -0,0 +1,135 @@ + + + + + +proguard.io.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + +
+

Hierarchy For Package proguard.io.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ + + + + + diff --git a/api/proguard/preverify/CodePreverifier.html b/api/proguard/preverify/CodePreverifier.html new file mode 100644 index 000000000..799fbacc3 --- /dev/null +++ b/api/proguard/preverify/CodePreverifier.html @@ -0,0 +1,334 @@ + + + + + +CodePreverifier (ProGuardCORE) + + + + + + + + + + + +
+
proguard.preverify
+

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..555c7a4ac --- /dev/null +++ b/api/proguard/preverify/CodeSubroutineInliner.html @@ -0,0 +1,440 @@ + + + + + +CodeSubroutineInliner (ProGuardCORE) + + + + + + + + + + + +
+
proguard.preverify
+

Class CodeSubroutineInliner

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.preverify.CodeSubroutineInliner
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/preverify/package-frame.html b/api/proguard/preverify/package-frame.html new file mode 100644 index 000000000..ad07cb227 --- /dev/null +++ b/api/proguard/preverify/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.preverify (ProGuardCORE) + + + + +

proguard.preverify

+ + + diff --git a/api/proguard/preverify/package-summary.html b/api/proguard/preverify/package-summary.html new file mode 100644 index 000000000..ccf46a1f8 --- /dev/null +++ b/api/proguard/preverify/package-summary.html @@ -0,0 +1,159 @@ + + + + + +proguard.preverify (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.preverify

+
+
This package contains support to preverify class files.
+
+

See: Description

+
+
+
    +
  • + + + + + + + + + + + + + + + + +
    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.
    +
    +
  • +
+ + + +

Package proguard.preverify Description

+
This package contains support to preverify class files. This means that it can +compute the stack table and stack map table attributes that are required for +bytecode in Java Micro Edition and in Java 6 and higher.
+
+ + + + + + diff --git a/api/proguard/preverify/package-tree.html b/api/proguard/preverify/package-tree.html new file mode 100644 index 000000000..91010363b --- /dev/null +++ b/api/proguard/preverify/package-tree.html @@ -0,0 +1,135 @@ + + + + + +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..9bd9b3b37 --- /dev/null +++ b/api/proguard/resources/file/FilePool.html @@ -0,0 +1,339 @@ + + + + + +FilePool (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file
+

Interface FilePool

+
+
+
+
    +
  • +
    +
    All Known Implementing Classes:
    +
    ResourceFilePool
    +
    +
    +
    +
    public interface FilePool
    +
    Interface with methods related to file pools.
    +
  • +
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      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..f6cfc3406 --- /dev/null +++ b/api/proguard/resources/file/ResourceFile.html @@ -0,0 +1,456 @@ + + + + + +ResourceFile (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file
+

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..1f1ee4132 --- /dev/null +++ b/api/proguard/resources/file/ResourceFilePool.html @@ -0,0 +1,597 @@ + + + + + +ResourceFilePool (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file
+

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 TypeField and Description
      protected java.util.Map<java.lang.String,ResourceFile>resourceFileMap 
      +
    • +
    + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      voidaddResourceFile(ResourceFile resourceFile) +
      Adds the given ResourceFile to this pool.
      +
      voidaddResourceFile(java.lang.String fileName, + ResourceFile resourceFile) +
      Adds the given ResourceFile with the given name 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.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.
      +
      voidresourceFilesAccept(java.lang.String 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..4a5206959 --- /dev/null +++ b/api/proguard/resources/file/ResourceJavaReference.html @@ -0,0 +1,339 @@ + + + + + +ResourceJavaReference (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file
+

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 
      Constructor and Description
      ResourceJavaReference(java.lang.String externalClassName) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..4c8b206f2 --- /dev/null +++ b/api/proguard/resources/file/io/ResourceFileDataEntryReader.html @@ -0,0 +1,308 @@ + + + + + +ResourceFileDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.io
+

Class ResourceFileDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.io.ResourceFileDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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-frame.html b/api/proguard/resources/file/io/package-frame.html new file mode 100644 index 000000000..ebf8218cf --- /dev/null +++ b/api/proguard/resources/file/io/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.resources.file.io (ProGuardCORE) + + + + +

proguard.resources.file.io

+ + + 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..93555ae6d --- /dev/null +++ b/api/proguard/resources/file/io/package-summary.html @@ -0,0 +1,151 @@ + + + + + +proguard.resources.file.io (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.resources.file.io

+
+
This package contains classes for reading and writing resource files.
+
+

See: Description

+
+
+ + + + +

Package proguard.resources.file.io Description

+
This package contains classes for reading and writing resource files.
+
+ + + + + + 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..6f46d00a1 --- /dev/null +++ b/api/proguard/resources/file/io/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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-frame.html b/api/proguard/resources/file/package-frame.html new file mode 100644 index 000000000..a2fe75c7e --- /dev/null +++ b/api/proguard/resources/file/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.resources.file (ProGuardCORE) + + + + +

proguard.resources.file

+
+

Interfaces

+ +

Classes

+ +
+ + diff --git a/api/proguard/resources/file/package-summary.html b/api/proguard/resources/file/package-summary.html new file mode 100644 index 000000000..dcf19e517 --- /dev/null +++ b/api/proguard/resources/file/package-summary.html @@ -0,0 +1,179 @@ + + + + + +proguard.resources.file (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.resources.file

+
+
This package contains classes to represent plain resource files.
+
+

See: Description

+
+
+
    +
  • + + + + + + + + + + + + +
    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.
    +
    +
  • +
+ + + +

Package proguard.resources.file Description

+
This package contains classes to represent plain resource files.
+
+ + + + + + diff --git a/api/proguard/resources/file/package-tree.html b/api/proguard/resources/file/package-tree.html new file mode 100644 index 000000000..0802596a4 --- /dev/null +++ b/api/proguard/resources/file/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..2e56c335d --- /dev/null +++ b/api/proguard/resources/file/util/FilePoolNameFunction.html @@ -0,0 +1,324 @@ + + + + + +FilePoolNameFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.util
+

Class FilePoolNameFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.util.FilePoolNameFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..0392c0864 --- /dev/null +++ b/api/proguard/resources/file/util/ResourceFilePoolNameFunction.html @@ -0,0 +1,274 @@ + + + + + +ResourceFilePoolNameFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.util
+

Class ResourceFilePoolNameFunction

+
+
+ +
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    StringFunction
    +
    +
    +
    Deprecated.
    +
    +
    @Deprecated
    +public class ResourceFilePoolNameFunction
    +extends FilePoolNameFunction
    +
    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 
      Constructor and Description
      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-frame.html b/api/proguard/resources/file/util/package-frame.html new file mode 100644 index 000000000..fdccbda16 --- /dev/null +++ b/api/proguard/resources/file/util/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.resources.file.util (ProGuardCORE) + + + + +

proguard.resources.file.util

+ + + 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..069fe7771 --- /dev/null +++ b/api/proguard/resources/file/util/package-summary.html @@ -0,0 +1,155 @@ + + + + + +proguard.resources.file.util (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.resources.file.util

+
+
This package contains utility classes for processing plain resource files.
+
+

See: Description

+
+
+ + + + +

Package proguard.resources.file.util Description

+
This package contains utility classes for processing plain resource files.
+
+ + + + + + 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..f27b86224 --- /dev/null +++ b/api/proguard/resources/file/util/package-tree.html @@ -0,0 +1,138 @@ + + + + + +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..308e4503a --- /dev/null +++ b/api/proguard/resources/file/visitor/MultiResourceFileVisitor.html @@ -0,0 +1,307 @@ + + + + + +MultiResourceFileVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..7cb6a6739 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileNameFilter.html @@ -0,0 +1,372 @@ + + + + + +ResourceFileNameFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..c4ed3f7af --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFilePoolFiller.html @@ -0,0 +1,300 @@ + + + + + +ResourceFilePoolFiller (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..a95659afe --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFilePresenceFilter.html @@ -0,0 +1,366 @@ + + + + + +ResourceFilePresenceFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..0a7552621 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileProcessingFlagFilter.html @@ -0,0 +1,307 @@ + + + + + +ResourceFileProcessingFlagFilter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..9cfcbecd7 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceFileVisitor.html @@ -0,0 +1,269 @@ + + + + + +ResourceFileVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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..7c9a05968 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceJavaReferenceClassInitializer.html @@ -0,0 +1,305 @@ + + + + + +ResourceJavaReferenceClassInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

Class ResourceJavaReferenceClassInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.file.visitor.ResourceJavaReferenceClassInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html b/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html new file mode 100644 index 000000000..56a033ed6 --- /dev/null +++ b/api/proguard/resources/file/visitor/ResourceJavaReferenceCollector.html @@ -0,0 +1,299 @@ + + + + + +ResourceJavaReferenceCollector (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.file.visitor
+

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-frame.html b/api/proguard/resources/file/visitor/package-frame.html new file mode 100644 index 000000000..3284b0900 --- /dev/null +++ b/api/proguard/resources/file/visitor/package-frame.html @@ -0,0 +1,29 @@ + + + + + +proguard.resources.file.visitor (ProGuardCORE) + + + + +

proguard.resources.file.visitor

+ + + 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..5fcd780b7 --- /dev/null +++ b/api/proguard/resources/file/visitor/package-summary.html @@ -0,0 +1,210 @@ + + + + + +proguard.resources.file.visitor (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.resources.file.visitor

+
+
This package contains visitors for plain resource files.
+
+

See: Description

+
+
+ + + + +

Package proguard.resources.file.visitor Description

+
This package contains visitors for plain resource files.
+
+ + + + + + 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..e6ec59ac9 --- /dev/null +++ b/api/proguard/resources/file/visitor/package-tree.html @@ -0,0 +1,148 @@ + + + + + +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..e0601c9c1 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/KotlinModule.html @@ -0,0 +1,446 @@ + + + + + +KotlinModule (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule
+

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..2eeb4def4 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/KotlinModulePackage.html @@ -0,0 +1,362 @@ + + + + + +KotlinModulePackage (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule
+

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..f59bdc79b --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryReader.html @@ -0,0 +1,285 @@ + + + + + +KotlinModuleDataEntryReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.io
+

Class KotlinModuleDataEntryReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleDataEntryReader
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..151c1d166 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleDataEntryWriter.html @@ -0,0 +1,410 @@ + + + + + +KotlinModuleDataEntryWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.io
+

Class KotlinModuleDataEntryWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleDataEntryWriter
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..0d1b39694 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleReader.html @@ -0,0 +1,301 @@ + + + + + +KotlinModuleReader (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.io
+

Class KotlinModuleReader

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleReader
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html b/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html new file mode 100644 index 000000000..74ee58e79 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/KotlinModuleWriter.html @@ -0,0 +1,300 @@ + + + + + +KotlinModuleWriter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.io
+

Class KotlinModuleWriter

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.io.KotlinModuleWriter
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/resources/kotlinmodule/io/package-frame.html b/api/proguard/resources/kotlinmodule/io/package-frame.html new file mode 100644 index 000000000..7c6f0f224 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/package-frame.html @@ -0,0 +1,22 @@ + + + + + +proguard.resources.kotlinmodule.io (ProGuardCORE) + + + + +

proguard.resources.kotlinmodule.io

+ + + 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..27cb2816e --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/package-summary.html @@ -0,0 +1,157 @@ + + + + + +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..a1f78ea72 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/io/package-tree.html @@ -0,0 +1,137 @@ + + + + + +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-frame.html b/api/proguard/resources/kotlinmodule/package-frame.html new file mode 100644 index 000000000..4843c5a42 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/package-frame.html @@ -0,0 +1,20 @@ + + + + + +proguard.resources.kotlinmodule (ProGuardCORE) + + + + +

proguard.resources.kotlinmodule

+ + + diff --git a/api/proguard/resources/kotlinmodule/package-summary.html b/api/proguard/resources/kotlinmodule/package-summary.html new file mode 100644 index 000000000..24014fbd3 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/package-summary.html @@ -0,0 +1,146 @@ + + + + + +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..27b03fc37 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/package-tree.html @@ -0,0 +1,147 @@ + + + + + +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..3dd5cfa98 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/KotlinModuleReferenceInitializer.html @@ -0,0 +1,308 @@ + + + + + +KotlinModuleReferenceInitializer (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.util
+

Class KotlinModuleReferenceInitializer

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.resources.kotlinmodule.util.KotlinModuleReferenceInitializer
    • +
    +
  • +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/resources/kotlinmodule/util/package-frame.html b/api/proguard/resources/kotlinmodule/util/package-frame.html new file mode 100644 index 000000000..96fd8d7c6 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/package-frame.html @@ -0,0 +1,19 @@ + + + + + +proguard.resources.kotlinmodule.util (ProGuardCORE) + + + + +

proguard.resources.kotlinmodule.util

+ + + 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..5da7dd331 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/package-summary.html @@ -0,0 +1,141 @@ + + + + + +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..b8b6e6946 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/util/package-tree.html @@ -0,0 +1,134 @@ + + + + + +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..222345d68 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinMetadataToModuleVisitor.html @@ -0,0 +1,305 @@ + + + + + +KotlinMetadataToModuleVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.visitor
+

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..4fa62d1f1 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePackageVisitor.html @@ -0,0 +1,224 @@ + + + + + +KotlinModulePackageVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.visitor
+

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..541c756b1 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModulePrinter.html @@ -0,0 +1,320 @@ + + + + + +KotlinModulePrinter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.visitor
+

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..1134aff04 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/KotlinModuleVisitor.html @@ -0,0 +1,227 @@ + + + + + +KotlinModuleVisitor (ProGuardCORE) + + + + + + + + + + + +
+
proguard.resources.kotlinmodule.visitor
+

Interface KotlinModuleVisitor

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

      Method Detail

      + + + +
        +
      • +

        visitKotlinModule

        +
        void visitKotlinModule(KotlinModule kotlinModule)
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/api/proguard/resources/kotlinmodule/visitor/package-frame.html b/api/proguard/resources/kotlinmodule/visitor/package-frame.html new file mode 100644 index 000000000..f1eb87b8d --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/package-frame.html @@ -0,0 +1,25 @@ + + + + + +proguard.resources.kotlinmodule.visitor (ProGuardCORE) + + + + +

proguard.resources.kotlinmodule.visitor

+ + + 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..59a6cbc09 --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/package-summary.html @@ -0,0 +1,166 @@ + + + + + +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..476b1a50b --- /dev/null +++ b/api/proguard/resources/kotlinmodule/visitor/package-tree.html @@ -0,0 +1,140 @@ + + + + + +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..153e234fa --- /dev/null +++ b/api/proguard/util/AndMatcher.html @@ -0,0 +1,327 @@ + + + + + +AndMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class AndMatcher

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..eec06fc6f --- /dev/null +++ b/api/proguard/util/AndNotStringFunction.html @@ -0,0 +1,303 @@ + + + + + +AndNotStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..3890bcffe --- /dev/null +++ b/api/proguard/util/AndStringFunction.html @@ -0,0 +1,303 @@ + + + + + +AndStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..a9007e3a1 --- /dev/null +++ b/api/proguard/util/ArrayUtil.html @@ -0,0 +1,2582 @@ + + + + + +ArrayUtil (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ArrayUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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(java.lang.Comparable[] array1, + int size1, + java.lang.Comparable[] 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 <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(java.lang.Object[] array1, + java.lang.Object[] 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 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(java.lang.Object[] 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 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(java.lang.Object[] array, + int size, + java.lang.Object 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 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(java.lang.Object[] 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.
      +
      +
        +
      • + + +

        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..3971ce9ef --- /dev/null +++ b/api/proguard/util/Base64Util.html @@ -0,0 +1,272 @@ + + + + + +Base64Util (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      Base64Util() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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/CallGraphWalker.html b/api/proguard/util/CallGraphWalker.html new file mode 100644 index 000000000..788a06570 --- /dev/null +++ b/api/proguard/util/CallGraphWalker.html @@ -0,0 +1,623 @@ + + + + + +CallGraphWalker (ProGuardCORE) + + + + + + + + + + + +
+
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
        +
        +
      • +
      + + + + + + + + + + + + + + + +
        +
      • +

        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..52613ebde --- /dev/null +++ b/api/proguard/util/CircularIntBuffer.html @@ -0,0 +1,323 @@ + + + + + +CircularIntBuffer (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      CircularIntBuffer(int maxSize) +
      Create a new CircularIntBuffer that can grow to a given maxSize.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..c1f6660f1 --- /dev/null +++ b/api/proguard/util/ClassNameParser.html @@ -0,0 +1,327 @@ + + + + + +ClassNameParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..eb2bf281d --- /dev/null +++ b/api/proguard/util/ClassPoolFeatureNameFunction.html @@ -0,0 +1,319 @@ + + + + + +ClassPoolFeatureNameFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..0ce0829bd --- /dev/null +++ b/api/proguard/util/CollectionMatcher.html @@ -0,0 +1,336 @@ + + + + + +CollectionMatcher (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      CollectionMatcher(java.util.Set<java.lang.String> set) 
      CollectionMatcher(java.lang.String... strings) 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..35267af05 --- /dev/null +++ b/api/proguard/util/CollectionParser.html @@ -0,0 +1,310 @@ + + + + + +CollectionParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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.
      +
      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

      + + + +
        +
      • +

        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..42b0607ed --- /dev/null +++ b/api/proguard/util/ConcatenatingStringFunction.html @@ -0,0 +1,302 @@ + + + + + +ConcatenatingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class ConcatenatingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ConcatenatingStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..9e95e8749 --- /dev/null +++ b/api/proguard/util/ConstantMatcher.html @@ -0,0 +1,324 @@ + + + + + +ConstantMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class ConstantMatcher

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ConstantMatcher(boolean matches) +
      Creates a new ConstantMatcher that always returns the given result.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..971caca75 --- /dev/null +++ b/api/proguard/util/ConstantStringFunction.html @@ -0,0 +1,300 @@ + + + + + +ConstantStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class ConstantStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.ConstantStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      ConstantStringFunction(java.lang.String string) +
      Creates a new MapStringFunction based on the given map.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..c73789be0 --- /dev/null +++ b/api/proguard/util/Counter.html @@ -0,0 +1,226 @@ + + + + + +Counter (ProGuardCORE) + + + + + + + + + + + +
+
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..6da3a48dd --- /dev/null +++ b/api/proguard/util/EmptyStringMatcher.html @@ -0,0 +1,299 @@ + + + + + +EmptyStringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class EmptyStringMatcher

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      EmptyStringMatcher() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..a77c93a8a --- /dev/null +++ b/api/proguard/util/ExtensionMatcher.html @@ -0,0 +1,306 @@ + + + + + +ExtensionMatcher (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ExtensionMatcher(java.lang.String extension) +
      Creates a new StringMatcher.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..8d4dcdc31 --- /dev/null +++ b/api/proguard/util/FeatureNamed.html @@ -0,0 +1,311 @@ + + + + + +FeatureNamed (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..5df29d66b --- /dev/null +++ b/api/proguard/util/FileNameParser.html @@ -0,0 +1,324 @@ + + + + + +FileNameParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..8f034abe4 --- /dev/null +++ b/api/proguard/util/FilteredStringFunction.html @@ -0,0 +1,318 @@ + + + + + +FilteredStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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..877677d65 --- /dev/null +++ b/api/proguard/util/FixedStringMatcher.html @@ -0,0 +1,351 @@ + + + + + +FixedStringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class FixedStringMatcher

+
+
+ +
+
    +
  • +
    +
    +
    public class FixedStringMatcher
    +extends StringMatcher
    +
    This StringMatcher tests whether strings start with a given fixed string and then match + another optional given StringMatcher.
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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/IdentityStringFunction.html b/api/proguard/util/IdentityStringFunction.html new file mode 100644 index 000000000..c3c911b76 --- /dev/null +++ b/api/proguard/util/IdentityStringFunction.html @@ -0,0 +1,297 @@ + + + + + +IdentityStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class IdentityStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.IdentityStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..9a9b6c2e9 --- /dev/null +++ b/api/proguard/util/ListFunctionParser.html @@ -0,0 +1,327 @@ + + + + + +ListFunctionParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      static voidmain(java.lang.String[] args) +
      A main method for testing name matching and replacement.
      +
      StringFunctionparse(java.util.List regularExpressions) +
      Creates a StringFunction for the given regular expression, which can be a list of optionally + negated simple entries.
      +
      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

      + + + +
        +
      • +

        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..044215a3c --- /dev/null +++ b/api/proguard/util/ListMatcher.html @@ -0,0 +1,315 @@ + + + + + +ListMatcher (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..90448dc79 --- /dev/null +++ b/api/proguard/util/ListParser.html @@ -0,0 +1,330 @@ + + + + + +ListParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      static voidmain(java.lang.String[] args) +
      A main method for testing name matching.
      +
      StringMatcherparse(java.util.List regularExpressions) +
      Creates a StringMatcher for the given regular expression, which can be a list of optionally + negated simple entries.
      +
      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

      + + + +
        +
      • +

        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..b7288ac87 --- /dev/null +++ b/api/proguard/util/ListUtil.html @@ -0,0 +1,362 @@ + + + + + +ListUtil (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ListUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..3db13f815 --- /dev/null +++ b/api/proguard/util/MapStringFunction.html @@ -0,0 +1,319 @@ + + + + + +MapStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..adf4016ae --- /dev/null +++ b/api/proguard/util/MatchedStringFunction.html @@ -0,0 +1,300 @@ + + + + + +MatchedStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class MatchedStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MatchedStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      MatchedStringFunction(VariableStringMatcher variableStringMatcher) +
      Creates a new MatchedStringFunction with the given variable string matcher.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..76610ef53 --- /dev/null +++ b/api/proguard/util/MatchedStringMatcher.html @@ -0,0 +1,336 @@ + + + + + +MatchedStringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class MatchedStringMatcher

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

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..27e0538d1 --- /dev/null +++ b/api/proguard/util/MatchingStringFunction.html @@ -0,0 +1,302 @@ + + + + + +MatchingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class MatchingStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.MatchingStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      MatchingStringFunction(StringMatcher stringMatcher) +
      Creates a new MatchingStringFunction with the given string matcher.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..ed2b97330 --- /dev/null +++ b/api/proguard/util/MultiValueMap.html @@ -0,0 +1,472 @@ + + + + + +MultiValueMap (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      MultiValueMap() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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(K key, + java.util.Set<V> values) 
      voidputAll(java.util.Set<K> keys, + java.util.Set<V> values) 
      voidputAll(java.util.Set<K> key, + V value) 
      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..38357355e --- /dev/null +++ b/api/proguard/util/NameParser.html @@ -0,0 +1,325 @@ + + + + + +NameParser (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..0c91f79f8 --- /dev/null +++ b/api/proguard/util/NotMatcher.html @@ -0,0 +1,299 @@ + + + + + +NotMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class NotMatcher

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

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..8acac5213 --- /dev/null +++ b/api/proguard/util/NotStringFunction.html @@ -0,0 +1,301 @@ + + + + + +NotStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class NotStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.NotStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      NotStringFunction(StringFunction stringFunction) +
      Creates a new NotStringFunction with the two given string functions.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..d76ae3aff --- /dev/null +++ b/api/proguard/util/ObjectUtil.html @@ -0,0 +1,330 @@ + + + + + +ObjectUtil (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      ObjectUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..db4be817a --- /dev/null +++ b/api/proguard/util/OrMatcher.html @@ -0,0 +1,324 @@ + + + + + +OrMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class OrMatcher

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      OrMatcher(StringMatcher... matchers) +
      Creates a new OrMatcher with the given string matchers.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..ff8f18924 --- /dev/null +++ b/api/proguard/util/OrStringFunction.html @@ -0,0 +1,303 @@ + + + + + +OrStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class OrStringFunction

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.OrStringFunction
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..5f448b3cb --- /dev/null +++ b/api/proguard/util/PartialEvaluatorUtils.html @@ -0,0 +1,283 @@ + + + + + +PartialEvaluatorUtils (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..fd51869ff --- /dev/null +++ b/api/proguard/util/PrefixAddingStringFunction.html @@ -0,0 +1,318 @@ + + + + + +PrefixAddingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..24d9496c6 --- /dev/null +++ b/api/proguard/util/PrefixRemovingStringFunction.html @@ -0,0 +1,351 @@ + + + + + +PrefixRemovingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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..5b3b614be --- /dev/null +++ b/api/proguard/util/Processable.html @@ -0,0 +1,290 @@ + + + + + +Processable (ProGuardCORE) + + + + + + + + + + + +
+
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..62d3dcc73 --- /dev/null +++ b/api/proguard/util/ProcessableVisitor.html @@ -0,0 +1,386 @@ + + + + + +ProcessableVisitor (ProGuardCORE) + + + + + + + + + + + +
+
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..8c334342f --- /dev/null +++ b/api/proguard/util/ProcessingFlagCleaner.html @@ -0,0 +1,333 @@ + + + + + +ProcessingFlagCleaner (ProGuardCORE) + + + + + + + + + + + +
+
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..ae1be31a4 --- /dev/null +++ b/api/proguard/util/ProcessingFlagSetter.html @@ -0,0 +1,333 @@ + + + + + +ProcessingFlagSetter (ProGuardCORE) + + + + + + + + + + + +
+
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..50ddfc330 --- /dev/null +++ b/api/proguard/util/ProcessingFlags.html @@ -0,0 +1,565 @@ + + + + + +ProcessingFlags (ProGuardCORE) + + + + + + + + + + + +
+
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..3683bd635 --- /dev/null +++ b/api/proguard/util/SettableMatcher.html @@ -0,0 +1,335 @@ + + + + + +SettableMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class SettableMatcher

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

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      SettableMatcher() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..de2e91c92 --- /dev/null +++ b/api/proguard/util/SimpleFeatureNamedProcessable.html @@ -0,0 +1,470 @@ + + + + + +SimpleFeatureNamedProcessable (ProGuardCORE) + + + + + + + + + + + +
+
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..abcfee643 --- /dev/null +++ b/api/proguard/util/SimpleProcessable.html @@ -0,0 +1,470 @@ + + + + + +SimpleProcessable (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class SimpleProcessable

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SimpleProcessable
    • +
    +
  • +
+ +
+
    +
  • + + + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + + + + +
      Constructors 
      Constructor and Description
      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 TypeMethod and Description
      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..50e7b02a6 --- /dev/null +++ b/api/proguard/util/SingleFunctionParser.html @@ -0,0 +1,304 @@ + + + + + +SingleFunctionParser (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class SingleFunctionParser

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.SingleFunctionParser
    • +
    +
  • +
+
+ +
+
+
    +
  • + + + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..7105cb495 --- /dev/null +++ b/api/proguard/util/StringFunction.html @@ -0,0 +1,265 @@ + + + + + +StringFunction (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Interface StringFunction

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

      Field Summary

      + + + + + + + + + + +
      Fields 
      Modifier and TypeField and Description
      static StringFunctionIDENTITY_FUNCTION +
      A StringFunction that returns the given string.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods 
      Modifier and TypeMethod and Description
      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..3f26577d3 --- /dev/null +++ b/api/proguard/util/StringFunctionParser.html @@ -0,0 +1,227 @@ + + + + + +StringFunctionParser (ProGuardCORE) + + + + + + + + + + + +
+
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..96336ec2c --- /dev/null +++ b/api/proguard/util/StringMatcher.html @@ -0,0 +1,328 @@ + + + + + +StringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util
+

Class StringMatcher

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.StringMatcher
    • +
    +
  • +
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      StringMatcher() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..4c3da4489 --- /dev/null +++ b/api/proguard/util/StringParser.html @@ -0,0 +1,227 @@ + + + + + +StringParser (ProGuardCORE) + + + + + + + + + + + +
+
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..e86bd4041 --- /dev/null +++ b/api/proguard/util/StringUtil.html @@ -0,0 +1,421 @@ + + + + + +StringUtil (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      StringUtil() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      All Methods Static Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..65b6db567 --- /dev/null +++ b/api/proguard/util/SuffixAddingStringFunction.html @@ -0,0 +1,304 @@ + + + + + +SuffixAddingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      SuffixAddingStringFunction(java.lang.String suffix) +
      Creates a new SuffixAddingStringFunction.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..772b7867b --- /dev/null +++ b/api/proguard/util/SuffixRemovingStringFunction.html @@ -0,0 +1,304 @@ + + + + + +SuffixRemovingStringFunction (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      SuffixRemovingStringFunction(java.lang.String suffix) +
      Creates a new SuffixRemovingStringFunction.
      +
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      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..49ece8531 --- /dev/null +++ b/api/proguard/util/TransformedStringMatcher.html @@ -0,0 +1,335 @@ + + + + + +TransformedStringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
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 TypeMethod and Description
      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..309d93313 --- /dev/null +++ b/api/proguard/util/VariableStringMatcher.html @@ -0,0 +1,335 @@ + + + + + +VariableStringMatcher (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..bf3c2751a --- /dev/null +++ b/api/proguard/util/WildcardManager.html @@ -0,0 +1,425 @@ + + + + + +WildcardManager (ProGuardCORE) + + + + + + + + + + + +
+
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 
      Constructor and Description
      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 TypeMethod and Description
      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..dccbbc24f --- /dev/null +++ b/api/proguard/util/kotlin/asserter/AssertUtil.html @@ -0,0 +1,353 @@ + + + + + +AssertUtil (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter
+

Class AssertUtil

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • proguard.util.kotlin.asserter.AssertUtil
    • +
    +
  • +
+
+
    +
  • +
    +
    +
    public class AssertUtil
    +extends java.lang.Object
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      AssertUtil(java.lang.String parentElement, + Reporter reporter, + ClassPool programClassPool, + ClassPool libraryClassPool) 
      +
    • +
    + + +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      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..fe7367bd2 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/KotlinMetadataAsserter.html @@ -0,0 +1,275 @@ + + + + + +KotlinMetadataAsserter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter
+

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..67cbe4335 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/Reporter.html @@ -0,0 +1,273 @@ + + + + + +Reporter (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter
+

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..9218c0028 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/AbstractKotlinMetadataConstraint.html @@ -0,0 +1,396 @@ + + + + + +AbstractKotlinMetadataConstraint (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..01a547722 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ClassIntegrity.html @@ -0,0 +1,309 @@ + + + + + +ClassIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..da9bf178f --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ConstructorIntegrity.html @@ -0,0 +1,336 @@ + + + + + +ConstructorIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..e8a62757a --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/DeclarationContainerIntegrity.html @@ -0,0 +1,313 @@ + + + + + +DeclarationContainerIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..c20ff6c05 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/FileFacadeIntegrity.html @@ -0,0 +1,308 @@ + + + + + +FileFacadeIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..43be3b0da --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/FunctionIntegrity.html @@ -0,0 +1,344 @@ + + + + + +FunctionIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..3acc5f76b --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KmAnnotationIntegrity.html @@ -0,0 +1,499 @@ + + + + + +KmAnnotationIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..e340a975f --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KotlinAsserterConstraint.html @@ -0,0 +1,249 @@ + + + + + +KotlinAsserterConstraint (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..ef49700da --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/KotlinModuleIntegrity.html @@ -0,0 +1,347 @@ + + + + + +KotlinModuleIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..45f0c09d8 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/MultiFileFacadeIntegrity.html @@ -0,0 +1,308 @@ + + + + + +MultiFileFacadeIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..3dc8950c2 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/MultiFilePartIntegrity.html @@ -0,0 +1,308 @@ + + + + + +MultiFilePartIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..c8c9578f7 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/PropertyIntegrity.html @@ -0,0 +1,344 @@ + + + + + +PropertyIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..1b379f395 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/SyntheticClassIntegrity.html @@ -0,0 +1,313 @@ + + + + + +SyntheticClassIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..51dfe880e --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/TypeIntegrity.html @@ -0,0 +1,342 @@ + + + + + +TypeIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

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..52cf97e5f --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/ValueParameterIntegrity.html @@ -0,0 +1,407 @@ + + + + + +ValueParameterIntegrity (ProGuardCORE) + + + + + + + + + + + +
+
proguard.util.kotlin.asserter.constraint
+

Class ValueParameterIntegrity

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + + diff --git a/api/proguard/util/kotlin/asserter/constraint/package-frame.html b/api/proguard/util/kotlin/asserter/constraint/package-frame.html new file mode 100644 index 000000000..f0161cd9b --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/package-frame.html @@ -0,0 +1,36 @@ + + + + + +proguard.util.kotlin.asserter.constraint (ProGuardCORE) + + + + +

proguard.util.kotlin.asserter.constraint

+ + + 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..483c35785 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/package-summary.html @@ -0,0 +1,218 @@ + + + + + +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..c3fa036c3 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/constraint/package-tree.html @@ -0,0 +1,154 @@ + + + + + +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-frame.html b/api/proguard/util/kotlin/asserter/package-frame.html new file mode 100644 index 000000000..2d6fc393b --- /dev/null +++ b/api/proguard/util/kotlin/asserter/package-frame.html @@ -0,0 +1,24 @@ + + + + + +proguard.util.kotlin.asserter (ProGuardCORE) + + + + +

proguard.util.kotlin.asserter

+
+

Interfaces

+ +

Classes

+ +
+ + 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..979cc0ac0 --- /dev/null +++ b/api/proguard/util/kotlin/asserter/package-summary.html @@ -0,0 +1,162 @@ + + + + + +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..161814f9b --- /dev/null +++ b/api/proguard/util/kotlin/asserter/package-tree.html @@ -0,0 +1,139 @@ + + + + + +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-frame.html b/api/proguard/util/package-frame.html new file mode 100644 index 000000000..1e38a50b7 --- /dev/null +++ b/api/proguard/util/package-frame.html @@ -0,0 +1,80 @@ + + + + + +proguard.util (ProGuardCORE) + + + + +

proguard.util

+ + + diff --git a/api/proguard/util/package-summary.html b/api/proguard/util/package-summary.html new file mode 100644 index 000000000..e5d3abeb6 --- /dev/null +++ b/api/proguard/util/package-summary.html @@ -0,0 +1,536 @@ + + + + + +proguard.util (ProGuardCORE) + + + + + + + + + + +
+

Package proguard.util

+
+
This package contains utility classes for regular expression matching,...
+
+

See: Description

+
+
+ + + + +

Package proguard.util Description

+
This package contains utility classes for regular expression matching,...
+
+ + + + + + diff --git a/api/proguard/util/package-tree.html b/api/proguard/util/package-tree.html new file mode 100644 index 000000000..176c90dd7 --- /dev/null +++ b/api/proguard/util/package-tree.html @@ -0,0 +1,233 @@ + + + + + +proguard.util Class Hierarchy (ProGuardCORE) + + + + + + + + + + +
+

Hierarchy For Package proguard.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +

Interface Hierarchy

+ +
+ + + + + + diff --git a/api/script.js b/api/script.js new file mode 100644 index 000000000..b34635693 --- /dev/null +++ b/api/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[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] + ""; + } + } +} diff --git a/api/serialized-form.html b/api/serialized-form.html new file mode 100644 index 000000000..533d70450 --- /dev/null +++ b/api/serialized-form.html @@ -0,0 +1,3542 @@ + + + + + +Serialized Form (ProGuardCORE) + + + + + + + + + + +
+

Serialized Form

+
+
+ +
+ + + + + + diff --git a/api/stylesheet.css b/api/stylesheet.css new file mode 100644 index 000000000..98055b22d --- /dev/null +++ b/api/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +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; +} +/* +Document title and Copyright styles +*/ +.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; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.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.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; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader 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; +} +/* +Heading styles +*/ +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; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + 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 Sans Mono',monospace; +} +.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; +} +/* +List styles +*/ +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; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary 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; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary 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, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary 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 { + 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 { + 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 { + 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 { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.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; +} +/* +Formatting effect styles +*/ +.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, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.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; +} diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf13b9f9d978896599290a74f77d5dbe7d1655c GIT binary patch literal 1870 zcmV-U2eJ5xP)Gc)JR9QMau)O=X#!i9;T z37kk-upj^(fsR36MHs_+1RCI)NNu9}lD0S{B^g8PN?Ww(5|~L#Ng*g{WsqleV}|#l zz8@ri&cTzw_h33bHI+12+kK6WN$h#n5cD8OQt`5kw6p~9H3()bUQ8OS4Q4HTQ=1Ol z_JAocz`fLbT2^{`8n~UAo=#AUOf=SOq4pYkt;XbC&f#7lb$*7=$na!mWCQ`dBQsO0 zLFBSPj*N?#u5&pf2t4XjEGH|=pPQ8xh7tpx;US5Cx_Ju;!O`ya-yF`)b%TEt5>eP1ZX~}sjjA%FJF?h7cX8=b!DZl<6%Cv z*G0uvvU+vmnpLZ2paivG-(cd*y3$hCIcsZcYOGh{$&)A6*XX&kXZd3G8m)G$Zz-LV z^GF3VAW^Mdv!)4OM8EgqRiz~*Cji;uzl2uC9^=8I84vNp;ltJ|q-*uQwGp2ma6cY7 z;`%`!9UXO@fr&Ebapfs34OmS9^u6$)bJxrucutf>`dKPKT%%*d3XlFVKunp9 zasduxjrjs>f8V=D|J=XNZp;_Zy^WgQ$9WDjgY=z@stwiEBm9u5*|34&1Na8BMjjgf3+SHcr`5~>oz1Y?SW^=K z^bTyO6>Gar#P_W2gEMwq)ot3; zREHn~U&Dp0l6YT0&k-wLwYjb?5zGK`W6S2v+K>AM(95m2C20L|3m~rN8dprPr@t)5lsk9Hu*W z?pS990s;Ez=+Rj{x7p``4>+c0G5^pYnB1^!TL=(?HLHZ+HicG{~4F1d^5Awl_2!1jICM-!9eoLhbbT^;yHcefyTAaqRcY zmuctDopPT!%k+}x%lZRKnzykr2}}XfG_ne?nRQO~?%hkzo;@RN{P6o`&mMUWBYMTe z6i8ChtjX&gXl`nvrU>jah)2iNM%JdjqoaeaU%yVn!^70x-flljp6Q5tK}5}&X8&&G zX3fpb3E(!rH=zVI_9Gjl45w@{(ITqngWFe7@9{mX;tO25Z_8 zQHEpI+FkTU#4xu>RkN>b3Tnc3UpWzPXWm#o55GKF09j^Mh~)K7{QqbO_~(@CVq! zS<8954|P8mXN2MRs86xZ&Q4EfM@JB94b=(YGuk)s&^jiSF=t3*oNK3`rD{H`yQ?d; ztE=laAUoZx5?RC8*WKOj`%LXEkgDd>&^Q4M^z`%u0rg-It=hLCVsq!Z%^6eB-OvOT zFZ28TN&cRmgU}Elrnk43)!>Z1FCPL2K$7}gwzIc48NX}#!A1BpJP?#v5wkNprhV** z?Cpalt1oH&{r!o3eSKc&ap)iz2BTn_VV`4>9M^b3;(YY}4>#ML6{~(4mH+?%07*qo IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..912183249bfd123e6ee6857e4e231ee98609999d GIT binary patch literal 1742 zcmV;<1~K`GP)>kOexH2j zHse%!0~2n5#HNZJz4d&Z*ZqK8`() zonAVSz>>JOn*EP1p;j|Z2+)K459K^T-cw5f5@&C~*}VZZ1>>EL0)y&2%87@tQw9`TAPsH9s_=OW|v6%w_5=WL`9|RSbg96)BOZf+QShupT6%r(spGoCk zW-q;FP$g|~&!hr_y*Fil!@28=3h@jo{{l`(j~P@*N1RLAiG-H5O?HlJ|P{oC6ob+}7D88O_Ev^+2U zv;y=iQLF6)=H)nYHQ>Gs1LXk?g4K0ACSU3`nZ5w1fP9bRi?CsAp9&{O1phg{gp+HR^k#-*~V1Al< z<^k}472Do*+X4%eh%dy$J z0HrsO{eJcjb7mBflW9N#ZVvhG$7IECcE2dFS22(&CT9yEzpzHfuSo+CV83DO$a@a< zPSP^c_TF*#F%NKRv=Oq2B<;mOd>e=#Tccyk;wl$fifxZ^{yKoXo+N+T-aGCd<^e`V z)i$!riIY13`4)D5TqT3o3HXx$xs&q~x_JjgfgSE%iz2@Q;!D=nu`_jHv^s}FK-{jI zXV4U=`Yo;C7HlsdH)2D&P)PT!ZrVXr;Q#*Hmdw-LP1D{*eAN9m=BO^fK~`XZfpZ?6 z&1PLNy6FaAfj$WtH(D!*iAGn~%A`P0x&!b9y6VzNS1tuk5t*d}MmJ5#6sU_uKV2CW zs82^DWu-t3NZpcD3d{(wQeZ}al>##YtQ43LU>OydYUVnMbEUwX6bRUz6x~Pb!d+*i zbtsr$=aRby70BOvXx6LPFJ*%E6P=ocrJ1f7=`Qt+d;)2Gbn_`O@CTsX#;FSc_hzO- z$t-KHW;Y`WG!GGIhk!VOJqNf{ORQm_%mZ|nGsA8rCv}>qad`53dj)&Z{V!=yYR7F~g_ z0OvAnf+qVkwmVN)z3D{EDKPd;L_YVxDftv`+P2b+1M?zm9-t8g=H;&Wa?JzO`!=SF zC&tHt=BX(qng>`ZFyjNO6qpfUrNE2;D+Oi*SSc_gz)FD`0agmk0MM4Ns-p7ij_>?* zGON<}o7r(-v%&kT`+gd-=}e|dHr;gn!PYFmDWBXQ3wCaa71$qyVrr2GK&H=~keL)+ zW$C8t55DFBHtX-RhA8W-f!}ac3ew6#yNLH6KOZ$6i^U z^c5Jps1$#r{8RK+fkA(o^$8UDB&W~99>w_d!u?$_@SL8l?PkH;U+radd=8&cU4<$S k16E>YwN(Tv0$mCG2dovPX8THWj{pDw07*qoM6N<$g3SChga7~l literal 0 HcmV?d00001 diff --git a/img/guardsquare.png b/img/guardsquare.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb2529e4eaf66a241820e34850093db70f679ca GIT binary patch literal 37399 zcmeFZd036>-#2`g%n?EhZ5g%(L#+%IBD0MKl?+KOyKRVuRY^r^nTL{Xi(*AcMWO6M z(XdRlm4rl+TBI_UlID6p-)pUG_w(HEAMgGC@jQS0I*xs8>l)7UJAS^yd7jt)#pd&S z^%&fPG1hCrZ*!~|>pGeK>(&KV1iQ}f!~X_tn!9|HwcFZF-m5*y4s{fDpn{WZpn9Zp#=XXX;0qED|r9v-sbMD$~~iJ~r@`g)8CdnCDVYe&C1(MpRJ z{weIvi&Ho=^J15j!FM;XzRx1lj4sCN+V|VO$nK$j?fFysL&RUM2TcDyY6PbJ&)RtyA0M_ZVH>`4ty@^bV^sCem1x(pcuOt+_Iw z^=sZLUyEgJ?cbM{G#;uCXm2R3Yi~MLR1z=f76z9U_Vn+xuazYjfW!F;@83;ECe%eQPs*Kc!!rw&(mU&(yY0vm0<{ z`81kYko&=Hje+IPiiW(_d2L4yJxA@Z<5K~?`JFG_npGe zF(ZhCv8%GnBEnlEzP9E)s@b^BH>M^%^TIC=FmJ-x5%g}qC}aDL(dU5XU@WCm%%3oLayJw4a((Q`YUb4%7ahDBs z48KluZn93Q<%fjcapPXt!QJVqQdGynDJ_I=EIWyc=-7!l0@;WY>Th07Ek_mne7|Vs$nVqE)Tz2yzu{i^Ca$u za_{QawbmPC<>a26nLI~hqhEiYb(F_`o@cc;{* ztfE27NhMP{uc^;eyy3rqY@lI)`;q34vp>;4hjYBoziT!$UgZjjp_J2cfR^iclWqHm zfOa$Poq5H7w8;jcp_%)U&L6lD3{2_vwME5$G;+5^z50P!(dPxe%hL18uaMd_p3*uewUVeed_9`Otl8Fi#Q2? z{Ih2IhjPfj;llOvp(oR5mMCtpHJBx}*qGO;84<^c%M~8S@mQ^I`3;s$^J>vG3(pQdESq0DFWzFU;+vDD!wcp&E%%#GdNH{jK+yazc`Xw^+VIs|v!p+jSsIgC- zMgEtA3f}r%9;!Q5_a}A+$?h#|oZXndC%O9}E62(Ut$&cP%sFBCTe+UKcQwcqt>B$) z>;Cc~3{9d=I+FOEYw2G{oIZH6xMWdyQ9MyFl+*A~z4C2Ob8>g;3;H&7usWYCSCrM) zaP@n-=0;C{;hz4YSH7xodg$|G*C%uvYp+)KwIH~c7W_+NCYBJExM`CY12-OAJMUifSVyR}sId810o#uKCMyP1Fpo6jMF*H$ivsK&X z6dhN^>oxxxod!pl0~7@SIjB&4i)Z9XP9Ra?Bz`EWIHW4HkKy(#UZ=_iE$2fd!#2(V z+EyJDmyvM^y6icBC2;}-$mcX$W#vD*^f}(~9h}|Fi@9cqJI-Q)svvhyjXIB7fwDlM zLrDTLu~YartWM8RC6f(2509Q426N-kTQn}#y*4HFTI$J}qTL_mMkjJ1#R@iBwe^3a znP9%kR}UHiVInV8x<1Bg`kYqsAkly!o!04AX>V3!k}dmTKna`iyxFA9r;04-@jBvN za0%v?nVZRz?CE705YO>(aW7H3aipta%aP%CLErLT~}XE-nz$Xyt< zpmA|}{BT#r;@c^yb|w1epI@j$mJXz|u`?m$D$(C$t{#N)9hwRlnn%&qc`{sG~+7~<)m>*gX!U)omxp+PFOlGdWGiPTB>sR5e zTbM|wL2nhW%yukRk2kz$Ci0p*@8HRGfDnlb$zP}kPs)U5*wT&4;gd6^I;5IhvNYjF zod9jJ8ii|rD2JEXR6eHhwsGSv%r=8-gC+5#IR{S?uhK2VYx1>_2o5QjRAn|9LBEcqA^oLLvyBPUYI8Cgm^=~Au5G7g(jr17A{7c z9Pv<{1W04jhkMQk+`dN6(sGnk**>RONicm6;k;Cjm}*E2sV{G~Edhc23EQ3)Qgjnt z;tYF9S%psu%#TfYzPGSDlVlP<&MUKT)@%zNY@{GqkbbPbU(9BLvXzu2C76|#tzB92 za2OlAyaNhW5|k%QBSiZWo!nh=!cVt~7xUd2ihV{!tuC=AvY24_5faU6tkF>85zhs`-Z?TA1LnxwjqN8|yBHH4m_aIzJ)kkEy@g(xHA zrX{ii+m4a&1dUcDa}SF1G9kt%^V2@5Bk)W55vyaD9TYnjI+Ihel1qUyoDhv7FGkoh z*`3^-J%4f(BH-9LHiHIRL12)dwAGPGYz}Up5b8}KC~PWJC|dKIJOZ)nOFKeP1;MVM zL>_^d=;q+FZT9OZpQ@NgcTU|kV_|{AKU8`7PlA{|Nt%2;0C*-s4-+iyfHj|qG=ne9 zS)juu2|j$fkhSnfj-bc_AJ09=0e7+?caI((cY`b;c>-N%{t-P{oKROU)H}#}t3g-B zu4`gaic;+2Niu^~A)lzRFEY%`=?|FAmH)SS0kSRItsCKPYDIMk}`K1?dn6%SIwkwT@YFWY|DLXVNgzO*=SkXX=lg4-8 z0Si0aVQwUW*p9%%)?P&9XV;}$hq6JdW7 zm&8qBZ-`6~*b#S-vGFe&cZ?H)wn9D6Y^DH4>c_kQSGNGRZ4tc^H+n5U-v`YtsEPc0u{ozs>g5D0@m! z9Hv5)xdLjqpwGe%%5@^jBBZMrQNHSFa-*{{6TSEV^rlSHM;)(7ALErfGE8HEj}XQP z9fScy-N-0o(6GfCf>|Ez__Wa1pfi)S5($U?tQo$c7*NdwUw@dH%x&sJYWCJ_>*Wq= z4sQ5ld^LiGTS>!BDT$r=HM%~|u$bBSUM8or6U18LYT!FES{K#%L`H^n?IJb3u5H`*R4(1%jj;u9o z7MPHFtfE9rjo?l9XwC2s5z()}f~e=ooMw$#ps<<7tr~@Kg}ZkOt5dT zA(a$%p)|PJ59gO!&87hjDTDAkBzEzgx)TBWjHmC9GS78BhPpP6iSla`oI3VHSQ-YG9OS$tT49=nlA%7q^4AX#h zE#EuXP@c4rn1Sh$z>kVWVB?q`6*$29T%Mt)ZcPiGX?I#RD+g@ zBkqCda=4_Zd_ki;MF0gizySiY zgk9Z54KyM zNtSV$a|Bt1R2BM@iOCt1PJ?Gl>kB9m{$WcMVyHiP7g%Yr&9>m`b;k0)p->?n`Mc@H z@*fV*zqPnzKFOGhJyAetjqZo?id!TrK2Y-$3|2A;S&YQ{-z<}vQB*U0(#YIN;?bN&Y*5W&W;@_G~Y z^HX^&2!=$L@09mBkOPoyFIR>o9=iww$a{jC1}44gsfpQClzXC4a2dgVF7cW^hPB0xG>dkR3UGp{CUx@9*UBF1YmlcXPU{8jV(fcBnjtKDRUe0k$70KpchCA zibTGJ*L|vBmD4oqe!%^L^On#lv9I^KeZJ(GwP(nY&Nk##&BYw4sD= zCT0{ZnW}nZo0Bb>Kmj~gYH8IbtLqrwOl=b9M}je+Ao+TT7`U(&0c@2C5^I zxoOlNAd~~m)M9g{D&hJuN~2}QRK2t$5N|Ljq&S#Ue}|H00E#77qf*C|cH}M6S(TWG zE12SG;(GyfF?!(cbd`CuDHkppIOHwNTTMk{m<~bl(gqmy^U3k^4csJ6bSc zcN587auZjphtf;WAH$l{;4{)z%+`RuMo#_JR7x%Z&18pR$nQlFKQc?gWp}RNHbs#o zG2t3$mYt9S+HL3tQrTr>bt04Ip@!6SLV+}^vc{tWd?j8quUU4fE(%Sw6e$i$egV4v z2=*``nfX&oQ}kKhJ_ClE{orUDo_DtB$c_<<(1=M#pl4qI`huxk&iG&T!4<|Imvz)G zK&tX>6x^g=!Sb^)NW!S6#Uv9ufSD`4KU$Ync>4Z`k!T`Jgatnc{HMF*#<~B-=_wqE zyng%1>A!BMO(eC~!nhNhbprM^-4vs!Vf>kL(?al=tbj7;hiOSS`s$HZ#?mZ*%T(Fn zB4ZEX+W2#+fNPn0koQHn{m3ml>?#_%DR%f- zH<_GAB#eW})^mkrMORJ&8pNja35@djXRrU!5x9nau5@!pRS9Dpjy!>?1_2;Mxb44> zFVZ}4eR)i|zH9JvF-;H}>ptNPmCC(g;8k>!S^&wiz`w~dz?(8p=KmXbKY>6=ofbq3 zy1_LUxgK07XZv!C;sQV8B2S4{d5kO#6*-}Vmo;{ zhUZT>#=?-jNh1o98}015x}O2ZWN=}31mbZ(7lYYl{glEWFZEEYUiDK7r-p{Fkz) zr*hG@dVtWIV4$NR&*F5o;QK5Qo^cV4gR+PyE>G_8e!)Y~9R<3#q%@*B<`PcgNZOw0 zU7zKy?sQ62dOW%P`nX30wh7C7F4;J9wesTgPBS|V?32W_dln9H5fu(R|9rhpV zG_0Bnnw59|r7Bo|;@ZOIti>QVA;K)=e(phSw585idMGN-)iJDnTVaQE;nV6NYdmU? zaCfXc6u+&?e|R=TyzDm2Rpq7j5%D5R2yJ%ETcvk#R<0GldmesfIt-=sW8H-*zFK6| zV?)B(wx>ykXJC&4laylT{2PIFziYv41*UZCNm8x${QRZdfW8}QcX~kIyfLG+W@t?O zyr#%)b_(Fj|CnWV?j@o@-`Ybl+&cdm_}I7_&6~YuwpAf8Bgqo&$qEn8IO&}=b$!N- zB?fUrh&b!BZKw^#?idGcG zKe0VGNwpheZb^aio1(u|rA9QH`aE63mq}lKPb=KtiLuj*Jrvb#^B+d4o2~4QT*1(a zMmL^)zq?R78)n$saZq^)M?M=0K@~2`f98~7_Hh;`-9hw(NDV?ywIQLe9S5WMo`BTD zbq@4YJs$Kt-%vC<`)x%OAF1yhO(KA~fhnI0kof)F6z;OYLKy>+mk@;iIj40_83(M$ zfLFSZ2$`@C28!_;XQ<|stAxu#K0n#un3miZJWE#Nm7)1b4w{BXF*eaLvV%9N5IRzs z^x1e}$_nCb+E}^p)c5|SI&5Rnl+PL+8v638_yG8p`h+h?zqm zrq=mO|5csb}}yN=z!<1G^BlI!Bti>XQ8mr!O=Y6vM`j zJ{xiA_zV=}k*h*HYR!R1tP(=bjB|3E#hH#r%8O_(wU77A)p4u!G;YN>Ra$;|b#WIt z#PnTcZ>K{+vk&YoWUJvA&aBpiL^@qRi#OhBjnd-#nXR0ET<${Cqr5H=w7xUJ4Lh@y zbB`CN_V2>j*1|c*i;MR`0s(hpyS;sR>1w ztcQ1b>JY1|;aztYe|hzwyka*r>J#arO;VdT^M3bl;;r~+VX5vVgG)D;>ur7mx_Hw^ zX+3f<+j`{tT%!{MndrJD8C_7wU#jmk=I6tsGk&nZ)4-z|W@0S^&y>k(Ak{5NnXF#& zPG|CV|Mf+Fl@(dSiQ{lRalywa&jPoS*91lUrD_xpuL%)fC31Fl00fJM9>Xp2?W0<^ zg_R&O*Ik1~P4*MxTfq4H<8<*eT?{>ofx>i0X$fsf4nE>lwk{Xd4C(3&j4?02!fJwr zn|%-1)iUk!wRcxtRGaFKn}33?vW-P{&J{cIzk$$rceV2MwnQ>3g|B5hgQL^-jZgC(4$<1LKk{rU_l^mCrFXnjrBg<)EJ&t${10fT?zhlfD$M?x zlu{ht6I7@rTYR)7Z;@;S33t{PjsBdmyUa;}HC%Clu|@%bm`~49S_v7^mm>Rz2gh_~ z(#bbFP%z<8Mj$I(M3Sjr4A-kpvUBzS?W4m0G)9>Ejs@n@&nLb+CI`TfE6Y7xD2Z3HE4AjKFJFIU32_26Sjxy;#kaW(` z9r>+rSmU*-Q8LRDIl^D`@{>X>HH~OiJV zo@Y&@UXodx(FD*ku`_aBhkx;bRpRxbF;XRV`e!XY>I&Mn(ufDv*ghv1V@>n!clTQa zI%mL{^HV9%)Zr{o%y-5esikRz<7tj~@^q>7z4wbvDT+U>6NFdNYE=RFWG1kM>1Me9I{5 zM3BPo^>fT&d(7{5&#%+J)KeceZhxw%AF)!A0;MP|1TR)jV=$2mP~`X9RKdcsY^BH?XD{ui~Ni~YrGD#MM!=bRq!u{ znI13Ou)1aX9^&~QE*Mm+Ei~sPdYFEW8pc?cjf2Y97g4Ze(lJ>Dx0g?j9*75Jb|ca{ z{&v?_57Ti>Qtb@a<^rT7-_+waZ<5Q&@1>p5l;VjgBVdw1JnG)0jbeCaVYJsTAMa_A zY$Z96y7P(enxBtivMnwh_{DstVY0A^E=Ruy?73;Az?wFME*ApL86Pdth60dXyUhwhjufS%+kBtnGIfG<1rdB?2 z&3x-PScrY$Ihlp9tVj^*qX$A0Uv^+H3tn`;`|NcG&~7XyDB?^^l)u>HcJ=W$O3dic z4}X>>wP`By5~9<7Yc>JHw zed$Tt-eCx9Z)S5qecBKt3v=h<#Z5Wd^{%cIrdaElx4T|@EP=eg`W^77s#r<^>X8Zb zbvF8B%r;Fhvh!b}n?UrPZ*kp_Gi*@hJc<{Tv7dE`c8W`CA5PB}&eM^>s^~Qz&z9+; z1KcW$@N8!k=1PIgBw{%4k2H(%G)HMEFUYUhk=PHG7smx-!5kR;*n^nK-sSkSs}uxT zCV>6UoAWTZ(3SI2ygkQ|+49uz^4!U>n~7A7BFHyYjT|HB$X}{^?pR)BEbm|XGtDr< zYZ@WT1tHJBA3bTh6HlIY(z{I$2VCvQw3uliuD@Q^7v=q-AF-Qn2GQ)Xg-Zq;6T8@Y zU$Osmm*kjVXV`Z}-Xxdl(cjy9D6+6*78>q6|Ng+IKu8rf}A)jABV z`c3E3M$W0Kd84$xIgC?ef>}R&m7O~KcGvWcfO#0RsC)7uBzlw)vFecv&EH)I8Ipg9 z5iaFmsR*u3pG)U}`KP+b$E-+~6e-S>ZopI{kL2Y38=qMT{JnMaaLo5B=cJNb+LO=3 zpSU&CDGuAn_MO{6A_-MN0yO0IU(?RYT?8mjIg7pdwwG9lBYdvYqhC?5WnoiBA+COVIi52IE|Xz1OkAGa2(Ei$Po~65tvqIBEE$35_peJy z-Q@)GS5UbXK}7+pHm0G%pBr>oA=8T_l4=X13Np92bMZ#>95n@#IQ9j7I0V3#HCe; z(A0p+hgDC}Kp9b;JpO9RZySeZO*`;?TuuM?Ci%}BG`{9o)cY?-w&6^|@;Oe$!}YVQ zAFO1G6f#o1rLT-XSLMfQR=;{UJs`fSMM?(VrVC@%)C?7CJZW0i zSxe$@@kUNk+iwAN`q7p`e|?Km@A3@T6klBvyoUXS)DRdxN1<8*12CQNOx66>L}Fqe zm=NhKm&F-T*ATHvxzods4dq&Tw*jh*Y=@UfHOE%ye{t|yWMFo@(tmu5_rn32V8%?s zqkIx&Rkg^YcD{cv;#?VMiYCE}dFd8rP}?ON!$r+Dwt-1&6@8!FiT1C2@G`bZ6h8GsVVx;9NN$c zqFW6(gv&!g%Y+MakkcU-lIb5Ufp-Uiw(OAujcdLd?GI6vj$!jf+9CZdl*Vx^`eFVy zV1n8k9Bwg*zH|PTm|~@do)pj}Gs#Ab&aHxsk@XYHP8ka~%KA^NnZQq|ol^Lqb0wMr z5nR#}OiGlb8^|D8y4}XmqFGk=^hQ-ct&)5KV>G*lqR>hAPVCnO^SIMIK7lHS55;&* z94A>8cR6@`3Rhx^%8144!D3X;lIxJF7T1(w;d_XW(0^3LRqAFviSs9I`kYL($bh8t zzl_kZ__*Fygbdu*!&4X4s;HL2Rdt9<$a`wTjR+MdBB&oF-X9VuNE}Vw6#XC$J7?V| zC%Qv|(iXxe2y7#yl=Gs^HnfIk`Eqb_zTF zoQBB%u7e6V+Hkv*%wTQNmtw6%Xjrt}2K%fnSNeD6J5e?&no0bc=4}fpqvnX_#)2OT z+JhDj`@R<4BA_`$(>Dapdn0AK(IN zz!1hWgg;4=QE!Kx;+%zJEFT>p#yezT8GPQWU6bD{?y|fE%1lXi0(Er0k_UF;caJK5 za76668UvY9*tc$J@8X&x@n5Lrx$|2Yu9kuZG zz8~+UX^SjZdT}jK?5iW1?;Hut_3mLVcnXZoew@T9x&d8JCP{ev`veQ&mpKYSPhxMH z%I(vKEJ|S1A6=?TH>PCEx`fPs4hdZu!-R7ZOhu-`PPgN!hKn~wFO)TVSUkn)fCL`NVrJ2T=Wq7*n?tO=Z_)ZPv`9b7vd0bm(K~$mh+5X}fAN?;mIwMo6 z?V?Rgw5P64=4d$_a0Q*sJ6C_GT54IYUF3K4mhr=_Z?anQ3X;4nv&}OC??}i1n})ZK zuT#lbqOfyGcCK;C3hMLBKYAf|u1dt9+CM7SG&Pl^B&zP23!w=8ffuUb^=Da^H3c?K z?L3kf8l%2e6GFw?GO~vSxMak{*H3A6^{?#O^$uB*Q3h#oF?`?T{0SPmieUXWK=TVx zddZGuy2aiv#L4{KAR59wWv{A{9)XmJRd%jl(fmskjR(LRU{9+R&BlHW9} zi`1F&pMW`yl7-ZHyN<@g$B6gwXuQ;piVb-l#XGHG3bNJnrh0p^b(Yy?Zf`oV>SR0D zW0m)8dGQu{e zGo#ez<$A7nS-7c=VcLEbCMknqMW|KYE`0eZZ$V+*?<0E{=@A33eIr$k4%#f+ZTJzAJ7MzPN?+2v7Ns5?haOE_12Gj%&TE%|6$m+wwq$kV$2GA&%VmK&nsZRilG z_R?2ooK6?!+jG%B=2*<+ZN1q#Li9q1QzfYbI|&!ZxehJ4+m%UmeE&)?)_Zo_sHfiW z+s7$y`Tjg}%asA0gni;3iW{KQOHO*zP3VcZh`Fqi;HxkXDZf73iU{RHCLS}>u^5uw z)BPyF%kcK_Yro3^cWQ3ezD(~dswwGw3=>Zj`AoA$kM>^}bUbmbttHiGxU#G=OFgAy zF7^FMJ^uDsqpLQcIiKs_>u&5)Q1IH!59a$Msi3m*-lEm)6FFz~lxU;vRYyJYIZ<5> z5tAI0MRzEFNDarBD}RKv>agfs??i{WIz|dc!^muMT4TD2Ogi5E0@wL%qh=q`9ZGsr zAD}r9#S^?)x~feyI+R=DlUkZJuko->=`Nf@WQ97-WvWZ%hMp9Ca=s3&mZ)>cmbKYw z+&!jx^@A(7>|%Z5TCj)3)=|o$eDdv0l5wW@ zf5bZ<)BK9cyBt_c{YXK1HxHpmR^}_jUGB}fSqMUHA5NkpMFE&BRq}k^lDn;?$KlfRufG^A-Cr^dZKSM|1ui z?x8C9M#3z$63&Xa^iu?iB+ovzxm;7Sk62GHKX3ak(#mxU=V|C4Wb|3qy_2AYdv`n< z2#G%_nM;L5@5%c7yfm=Pru<0tho>W;=LJFn(VXEH%u{;QDelYoY;gnSJH#i#kKS$t z{wm@q{@Do81ltY=M;JBH!+I^&T$vOL#v_%CIuT&!ITgKtH^ASA8C>{I&kWAx23g_e5GZ=|2lo-gA!j3`^1F zYey-wQ>0IAgAt;UsCBAW4}iTo73FBhZ1b^KlFp^~`o84sdE|00HOuK2V|P;=KVe{^ zm0q9Pjaq^V%+&q%>!XoQwR>&2jAp9Y$2CUmJC)e`8r=Fy6fR-29k3`lIyY}$#8!`|2{3E7%0wT`x-$YP~K%)}7`Y6FF!Uf7MqM4~9PK3;;t#uQ0t%OQBe80CSd z1}GT)3bpgSqK#H-tl5%3q!Ak#7lF^iphk4z3 zhPT?sDf;ZR@m4M0IfgN9m}mH(peAezn)(}&?$^E&bL3cHB~*v19N}mXBlvJ_ghoj!P>wAW53njXy$0Ikq)``;%__J=Str}z#c0RtmVuamF zHY1N4wmD#gXudX<9@ZE6CLj4lR?Ayo>#NYhEj1M(mL7^iK{O+R^dp)@i$kl-R>n*# z&9d*_Ni>{n*t){pyn(x8#uWfCUS2=qY86boTb~|KfDX4BPwVu1ej~C9mMU@AF96a` z(K@1NIN_=F)d31E3uuncW?~1|9Il$!3#VMh%ccP5@stURE^s`9Qq_>s4;g)^ z1qUPy<8xHbOxf#6YjJ(C4hk1(>@B)agh&d3rp0%_m>&?gL4!0GyLp6Q7I*Cr*lYRa zC$>J9JBg^=HqGDSuBW8A8cuj;!%TE&aM*yI;u@$|Y`q$HCe-ghsdhU0WPty%IHbd+ zBs+;u`BtN}uPTiHE2i-2OXLJSj*ZKot_J>QOmy-0&(XWEs#_-@6*m4Ttmk zZ;pd6>JhYxu28TUJ_yYb)GXM}jPmDxjb40flUmW<3#JFP=6z4A7i37nq(ymZ5Fj_oLD zaOCLn3Y(CvkJc$Fh-x_jCvdA^(Okfjbq&~_&sJzF%zp$Btan|CQQ9bSOBPR#9mu5B zKm*6|V7FW7Sh#I@(GyNZ%~Jt4{E^2{NWQoSHiQr1t|Hqu?Zza(;`uN4 z^Ep@^O7RLSg16u%4wFxPzb@R-nN=%iK~eZ?t*-Ma0vbp>sa}x?mw=LaaZa^glRP0p zJ&x4Z=jY&E^OOK=$e40MgZb#oU&dCM(iW;eC1VIR!9#xYmi7vS9$A<}L-;x@%yNB^ zIH__fEqY7D$w#P{9Z9QIK4#(^LUYkJ5*Xgbz78zit+WNOinhr|EF0ZyuT1i^8%K*xH=_Ye2oL7Ql#kBBY&?TwNuv0x4mP}~M% zecVWa)PjndXSR}JK*w+F-^jgJ;dTbkn{&%O*yk2Q<8d@#5sf2t8xUG_gj@-KZqJi6 zNMqq)gca!bi=)#PG~4xIk_&P!o+C>vD($JrjJnEZt)5~gmO-*mSI$WJiOt8pm*$^9 z^NN<*XrSuB860WYP{92hPrDFoF>Z={Tn*Y~Rn=L6eWUgc{(S6H_SPCgb=ydF`1613 zNShGeaX5()lcLiWHb+6|)5$0BcL+Y37}sS1AtW~YJw+2>8EE2yHZJ7TI=kqM{Mo0p zae<`1SU$^^5+E&ayo@2!yeK@&g>^K9Lx{Zzkk@R&d=TN}GzZSl1rZQ&)+tVi1%JMx zocP|Ikv{a0{|I&fk_E{X8GTyaW-FHU1senrK^_>_d0=*>TBRvC>$qK9oYkELQL__& znV$)89p%z=k0a`^P|Dqkb=o)__c)_yGui6BxIA;fT+5_k6BSn|t9R+UbKdEheg5dY zW6&JsDfr!^)A8-Yy3P7jurv5~MX!?5t&7>0Zx`!(vapYT02N1I2QU6Anw)?7G37WC z7i>|+4bgsky{xKIwb@v+$5wj$@$>bNs77PkF@6Z>@F0)QKH<^h{*wSL+<|4rCZynE zru?ZB&vSC>s{)6^Ft8~Ze_>ezAbo7crXRI*+KJAS;O{~0eTeK2`HwQN%;UbZfn&14 zm{yYx{$bivk=?NzDL#0Tz68GYNf{gzKdvQkw$D;PB8kYejqE=am!oOr< zl)eDqumm>_XC;X^t-%DP+$f@Tx{$b_QvRb9AkUiVD+_3ids1#NRTgKAYb_At3MX?~ zk-m8K({KSNRlG+cRY{kHQjN<9X`)tHOq*VeK){-1WB4_!#khqgvN7)D(in7p9q-~8 z4P%NjBD}AE_VWn?*WWF;(Be~xx|NNP-)s-V^MmC-mf^+>`pf`Ea;g99mn_C>vYTuf z0+>9WG-zNFc|?2py#Vt*l7Vg9O_$0$cd#Vh@w+*PZpxxiTrIL5c9#n!l5Brto2`ae z22PUyHn!=>*i4T4gz*+gmS+6P(Q)y^2gGf*p3{KH#uo)GJIj$Pn0p9}O~4ovIY~(l zl#sMn$;LPv2rf>`l8&XdUQ;!`tc4i4Z|tz;2ggA8`#6z`j@n(XeZ8RzrjY;kLu$aj z$%Y(lhkRAiM>b>+5&@qM@gf*Ykee`N8E0b}$Q=0Gr+%1e{k4-Sh7+I!b?!C(3rA1n zxvWga=pPQ(YG1F$bYZeUAAQ5M@=gTN<}2gstj2S3#_{c)8{5aSgk1rh1y!zxMyC8d zK|#aiUHh@lg@1M4F}Cn*=NA*%nGHSrB?wqg(MAQ&9bJ^O6-SNhlc^Z>PI7GQql)s+ zOAVVl+3dc2sKw{hz9Vl?WLw&?*;%m1AM^y7>l%38;!`zr)eUX0~bpY{20y8wp zf^GXU$*}Uzx!A|R9jJOP<7N2zW?v1%Wpo%ov`R+ND6iJyd$|RPbcw2DndH<$4@H}` z8so-Nb%XHb;3*RV-TCbid-gSk>Or)x~;vA;>R98D5C!4heo3JIHJ)k`lVMnkG!~B-1 zWt;JCqUYT)1oq&w^kY>Q&57!x&2g)Xoqr51SO~u-gJ;F|IB;j&WTW$UF ztrB|ZXv=9?N|bG!`hI~R*5XJ8doXj1BGbg8-i3&m;=+i><#w|BYGfQSf(w*&iU*Jm9s~2LD9;cd9u-mINfrvGvQ9j%#e0q|{ zcvlRvE7p$bAsu65+a25gxCH^PYeovZ+Pnmu#!0wCtuA%4=nI~R0FL=&WpflhouQF% zQUoKxOZfd(X&Y{zy~OFUNjw@K4`{n@*xxSB8_<;Ew?r)K+rfvCWGeAbOT^I^2Pm*k z(Zx#sA(7}*ydX2Su9$Al_QdY@nCPO_Lu!_7dDQ?j%Wi##M7u=8#DwZSFzqv9Zi&~G z3qTouAD0l1!~va!zfwKEmR8|RkB-Agr*S?*=xk%Vhupb>dn4tLs%X)Nrj$VOn2b%G z!grv{6h>_j{@j;^Pt%ulk@mX*&pN0rQl%c|1Fj)IqO%sOy!KfOj*Oi_M`Eo?-q_Km zc5I5qdzh0t!h^o{H(a*TovjlDsyD`>-#+x*xFB6V%Av2Q94H@_F>M;3@Q6TUjj~V?fSJ@62 z0`nu~o9@Q}4x?yYnJUk6*J-uX^gg;5lD={f=(HMyNqdscMnn6Tc&tI;rT>=@vE=j; zrvcD8ODDUGz711zJDQXGG|!rFUqLwtq7=DtD-VzN;kcwvw{lJX5*yq4JnX_}>C{w- zmQFUn-UQbB(VP_T{5%ywSZva}h(kMow+6&i=LJga)BDLXX1C{LJ=MJn=yM@jKFMe) z9NvEMAFycAr71pm}A+DA+ent_4msw;Ad+u9Q-?_aYPS6zu2T6^$1L<`{5$I zA>Qta4=jeP@r3d62iat2<+qt(6Q>)scQSts6@Pi76m|$|tw_`sEx7OmXR1>A;7k=A z85QYYx!0YqvMMAucV2(&vD;Bw+Oz^E^Q50S9yeXNP<4;-of_3vc%(RO)Ch~V=v;{& zF7wB+JH`uy8=5ZFHMD*^^1j<;=TDvTv0;oEjV4`nf#23&Q82YGDe{B#jzrTP+6&L` z0walz!5N3m*i2}KKqi zhjh@A4xch*%aRg5y)L51{(DNHs1>nKZUk^AtfX&={XXb!3jAs+Hy`i|t;s!_ClvU{ zZYnit9|0TSHg3+&zZ>m8u#;pxV9Phos-);ay<0jRS8L?Rem_FPy_;nDL>!-hMju$A z&8`;y{5IO$w3~CgN&tV_#eoJtj9B~~J$DHr8H_hY+=W_}n^deqOeZfp<1_t+3a z!}fl3XpyIcX@yQE*ajsK%JJz%oR#jR+V2%pS0g8-mFVPi^+>R=t$vY~4wA9C3Vl+f z5ALniHF5!M$|Tj~5KRNGk(dOj#$7n~i_2XT(y%V*11(DX*+YwJog~AE>m{y=e~^P` zarbek5y!G>z9yOMSCGCTK!XA7vvbvrbauOpMIXK&JrG`VY;pSD{A+zAgneCLxY$*#0q9w?)l&!G>f#oJDm`#+F?pX1 z%0wzy7iuiY^@ikmIM>UBy&Lxx%~NLU3J`|AHTJBwJX+(Pbp7>utR_AtzmM6B*Nx)* zjD2(sarC14_~=W`l@7PDj>L`-@S0!PZ}xf7W>M`wH{|Enpiio_l1|b~V z!`vt>qrTQ$Iq@kL9iZm1whl#C@Par8N0woR*xDDoq=A!E<+bn7TD;7&1wpXKgOq79S zzKt!UX-B8UX)PvoZrht_YT>F+fe0gLoaXW@XH$b?QFB@nd<@dgWTz30tM zzKERAy1_UN0eQ$*reT8|!mas2^NMatvg}$i{Y2qYVA;;MU$A{P_oaT}9U=rFh& z=`MX#sCJ4J4&TYsv*2EQMr8nm%e&aJXhce}U%$?hb+JhY{!a0w1ONWCg3(~5+PM6l zS=xZk%1dA7*(&cmVq$1*V&U#tKB2!9`*A9AbB{vxMgvJXlk44X8?_8v`0&jAm0}f$ zB5#S)3zGokGmMUgDY3tGv8($_(@uAv;F>7?(C64xj})71BsC=kw#i~BI(w|BDfybj zAK|;Q`gv(>#?7i-?)slKB2HpJi`b-nIEh84v+10$#IM|{cDO;^5p6+;!I`(IyJTsD zNCk`6fw?y#cFzE5WOWa$ryu*CR_3(&X^m#3W5f8y@CdOt#?xE!emYi>Ww2JE<>orw z=+wY@U-A!M-MBh@i5h}dUy?~kK-=3$C$d6mKVUCkBjsrel7TTj!h-fL_Bd5Dp%%qP z_3qK-kxyzDD3U1(7vQ)rEIcn}$b+@mHn%xm9aVq@R8CKl8U#Mv4@)V>kV>#?uqqfY=^dUeBk> z@=M9C{Wnv#>~{!oyM5)V$%xAO>eUkliZ0@KgSTr_BMSUs@F~F-XSdree#I4b``!$r zEs<^9Zp7bUzye#`QZN7O%kxst$Bo)SX-TcctyentoM9Q&5;*>P>(kevYk^9%U}?JZ zvsu_paa>G8UH$0dKP=^$Ii$sD7R=%XgSF`#qxUU3{etl6S9qIISAltj&9NO2Nbiz=)|^!5G_u?`}M zwkZDXR?UFc*30dQ4r^Nmy_oZ&_*09DqI3ehIwhl#fQj2xk~vBvCG0wxRH>I|!ChFl ziP-w_aT7IbEcUr2DONAQ5%3BQ=1i%0%RGZ)ebWOK3v*)5PH_8V+W4-hC8gncTh;T* zk&@8Zq?T$==}B037;Q&V7Dqa5zdmN}y7Y{CH~mXnpWncFoRLln=}|Z^;ps^p6TJ|s zxr5IFNVASkozgxk`|(xB(zi}cFA9s48iGfc=eF9(Z1)1$ZuQ$saX7wWiD4_>AlN zEqb>Hh*@*2Rhw!1BHA+;M*E4C@60wq9NKnVC48w)ud1@=r4eUCPPPvY&4^D7v~q5% z(6$v#vvK+b$L`6SCZjZwteJEeQQlRt^81xfV|TBco_Xzn$2z3(+iR{AyO;#DmmM-( zHocR=cblk|6|LMx^tF_whCaptV5B~3%dTnFrXF$#$oSHp{Gl?UIi-#7Rg}G}sX%s{L@b_~v_~d4e$4%O1lUYhv1AjiFzi9JNDF z1y=c`d$reAUYnp09J#R3)6mV8LNSYg?MjVnuKbBp^hid{b;jOQX}>U_n`F=ur$KNN z(nZ4wDA;@qS6&uAMa{yhV@H>}G|GX-k9s=hm2@VGeZrPV82i`HjyMk|qJ3M^h7(ItkJ259JNfQ)7Za3~9rSZ> zOOaMeE3nnuC}@3O7B#m$^&ov#g=wJyB68b^Gn6lJR#miY+i1g&T;vtylfgwy;=Xs| zVAGVGasm4@MH8U(8FJ;Z1nZ-;dxk#f!X4vzunLE-Fun~cm6lONp3o9PsECEn7@S2X zDdq?IOKU*R12gn5xaU8%HFCzm!$%~T=atV|b+!G)TgJeG?QNpg$dd(u58g3FDvcg6 z+5&Q|@$g{|X8ml=S;0!e^C!p?G^n)wvBu%37kS)#eZA0?}d zAyC*ezG_1(2<&M1nKBll=uyg@_-lX2-o|MFOrH+y&;fA?&r2p7Vj)Z&L^%G9S~xnL z&Xr?WoI~s%1CzlW9|7^9Dko&b_h49S$japLoB!8mTQ**0;dU6dU6DS_GF* zi1ruRDv5GnOx4r428MjPihBdKlu;as^yGyg=TI_XQG<9j^>zK8Qfp~0P{kZOIqO|@ zkxD*z5O9F$B6Xf2OE)-s8vwgNSd*B(c)LphU5N+F($%MhiY+=Ug3G!@D?IxRrqiVY ze~*;oO}-x-{z0k_E3>ivp65VY-v4~@X4iIleUYrr1x;K8q=-q;q!R=lwpSC)1r9IZ zhf&3;17HEm(En4$32Z@8k$(w&T%_;F2p|9R>`jR5!bc3{+x%sT&TXhqL@gBnARkbDJ&CO}MW$3HKe8-7LF? zQ|{A=o_{qgxrG^pm@!l5zXJNI`Le8DYGzw{=T-teq2=Z>-RA=O7BNt@GncJb&&JO9 zPAF`6hko!%*c<$Lg%X`U7QN;g&`R7pO_d#pqkb>2s)EC*I|Z^%s5~0Pd|TF6QjN*> zRAL2y@|CR@o=iaUsPR3wOja#HnEj?}KX12U3RTmIUFL!(Tf zXJcEJm*r0-h0r57cK3GphMhTj7A6+{Lr^cCvglGDy$>Lz4c*`&lOTgx#s}?rS$^`hgL1Q|yYb5UO5Y7>6Ub#A)O) zwW0QRSsA`(vHEMLx>PP-uz-*AN9l2Wu(CREv7NYhJ@$ll#)SfMp;p+rn*xjAJNRxEtt+CDJ#_}lo`!TW^`*tbyT*# z{c;>o$A`#7(@JicxVmmp>B_<`2e_M#Gu;bnqAP_}c`M~1*e1K`RSK7t3Z9gVF-@+a==Z^Nrz#37Q5fsH?y zHALK`r7!tb2s>)p7^3IUkgf@LrPVEf`{m|JN6MQke$}vOhKrqW_PD*6YV=xz%2_-I zC+_f&e^o(_c7|~>bx{4i17X%{c5kv!@R5TC;E`iC!f%V8Dqm_;WO-{ zov;l-X>Nc1s^GZYtG9lL>HRWXmKNg3f?L}BPVB+49ja?@!>nGVUdMO4%GZ_!piTa% z@ykV+RoM0Vbc%)E4+dB?kFAQ^b@Hx19kwWxx2y zb0m=p&XZa@e^9fO7~|VWL7A&IabGbJWYm|eAu%_c*r5uB{-5@)|F6b;+doZ12aPW$ zbLHF3w;94ArR;=|%+VBgG^nfCBtv<~Y{s;H<;y3NRpXc-Wto2!+wccxe);l=n$RAA`j7xtcJGdkK zzWbY^@M~|}q3YU!y%Jq>S~}xP33Ha+ceQ!#YxyEWw>|e{?`JhBFb@;;p{~0V{}jtt zqXT!6_GMLMx#N3#zOyPg=5hP8ZN)byw`@CQv%sn4?zt5wTFhX8jge2rZ*A_Pg}J+h zp&^}OgP{#CjGx-5%BcLNrSqEOIi2QXiqVfJqHo=UD`kl>)?x|1v%D~VTH}U{$5wAP zzsf$|IDeQE?)Nw4t-tA7H?fY)y{W&ytLvrIO+7l8K0^DgIp6PYuJd<&)8~@ygt{*7 zoAz8zS^D@_=>53-v|})!6u(F#?hfmaR@vE*h-K_mdF3ZRO_fV*OKt3%$4&n-z3jGG z+Zd4RiAM+2{&+=EVci9{6^{VeWpLU!Y&_hDM0R6zZoMj7pm~y9&KsNI(fIyOrGKUo zud%8W^Keq(h`@z&eZBW5Im7Xv1-m}IdKRgcVWOM-VJx(meesi@ouU9b3I`F5fMR!c z!GxNDp`nw2DF3yClFrqqdeq{u;UFloFg#R$M~^($cgReO7YOl`;fnej=-av9-He(A z;ge?4fDMUJoAx1jfxl9E7LHe&hb@|)XwD5E`?oN;I5i&~Gmr~d2lUf$5hoa`>wVvH z#)MMuNwH4s*oG~KtA{KS9T1^Ly_X@Kzh1FrEfk0i!Xm_UX_4c;bb#*$o8Zgs;7EjF zqPDyWkw`YhE64=$;Y041(C>g8)@9QzCZtSdJ4qrmQ%=LJT&itn(dKeVixlj7AWO=V zUQ<=Y4^vYTq(=uky0?fcJBN|$$cY$%Shef_a3*TSqoXRN_}3Fi#oFV(FSEMC7FcjH ziqa4$A^rK>@VEI3of>MRI<^<;soeplNy|rjj-rUc{jmw3IfpBRDXga%*P@eTS`}%fTWSHqfdob zh=8a{{#&PZzezH?3xmk3P>di1Pz<4D7`81r9P;0P1SFQ2Sj&Q=Y?+oahv);+wu{2V z_CUJ{mIPjO&vvNM9HXr#{8CV*w!21@2;?|bdd#YJX?BX=s;Vbmq=8YvSevl!EPx${ zuZ^chs2w56;MY0Zy_yGg7BBF?^oKoaU&)7$%2Q5}apDW(N7#)(kFiw>4C;J)3a*4S z08}2{>h+4|O4^eepCVw2Z}WI1vs2AKmEL#>fSV#}q!~YNi?O=`ZdKwTz9uUeK84r+ zB#r$&IlD=>Yx$CjxPt}juY`GN@bm=Xa=TIB4T7AXSjXC4hg7#!ht z9NOkOpzT?02_#0T zp&b-6SCSafY^AI-h97-p98EZZ!H!0a;~wr9hE|aFw%&1QV@H<spU7Puliy*l5 z99+}#5h}Ib4DP7MQQ!6R}m})!IceU&D^%UgaszTiD1F-nzR0_ z1z}$3$cw`=jJs_aLjG+V!Lt^v_^8=DSB{Qb%Y-;}Aqeg;cTev#`f7fHhEzmDvO`*e z%$C) zjOUZ__KUR$Jk`PcSO5htN?NmX20^KKlFz4vKJxbw_-X-Gy4CL(gyZM8#+3cxi)k1N zeiQvA%1(rYgM^1(U>le52izQh>f#tO2~wOb*t!}{DcDp2n{RJpEPgZz17GZ2PT!3^YWf(JP+rAAv51V~r(4Tie`;8Jbhx+v3gGDrc%8A{YE9^!Z2 zqX2QKk;0~31VPaRsIfM>!VW)raD|5RxgN?4Jo%1HLl(fM%sVs#Y1q2vTm)xa@gx|^ zu!WQl2CSE(SS~N3IPy%)Y|SW~Dt3RN?q;Z;OQ3c+f^PozYtHYvQanBm>_qY3wH@w4 z0$-@ootv$xI$BK8chVdgn3>EbuIoH(sZ5^HuH{I8B0e!#(F08yS_C8IB4Q7-u@dsB z0!V1eZkv$FO)(rgs=s3 z{#%iZ`eOzA6d&?7jQ^nq$XuLMSf$iqhpm!I8M+ zb1$ehSJ)B-jJ5<805gBCO+HNrs0A6?n?eK92LpLhPIl3q@_l} zJiF3PSFhu#t(#Nr-koQ)^0S}B(e4o z;R^NM?B`k{i!_+R0w`7;FKekg6wB=zn=CPcZ7Gm{G;b>aenqCXhX|ILy9S zDM1npROE-|X>+PkGgD83>E|!|R|17;_y}IvaM?zfE|3}#;+)T?VA#kxU-SyhA`Mgd zC@_wWPbx!cn=Pn0(V8C6QMn9mTz+1izZv)ktieKDy1&S7u%LujGY@&>7;-bZSyCK;>wJMwRH93a!fw!gc;#hCtjg8~d`na;=4RKJcH|O%sPK+(f{RP!6 zYKtiri!7#F{FjCAJmK(rGd>I}?;O2OdLmSd)xuNtr++!%(D@_ZgEN-9npXQeWYj#X z*kNNVpBMz|H`MEn`vT3}0zo|`b|=URF^9iW(YNSaSQ_D)527Wz0PlMvAC_JEVd7qM zA)7B7sE_Tn?@)a9*~x*L_v~D+->e$C8r3@;slZ?Tbl+m51%74jzvLd#*ZF~<1!lFU z*P%gf#$s#1Z;ESv`LA9m6y?{X^l&lDPM`FgY1^2H2~2#BDY4PXC&vh?uP!~y>jhxn znM>_=&#ZahaANCa<^+@cxEwy@_c;G0HR;i2Qr~`qWjd#|d=()*rnHmv*mHGObf`^K zeQ;Mn-HBi5xV-RcgYkaD-Dmf$LD$m&l3hUu;tuG+-fxpZdDW}&{#6jR$)ubhGdy0m zN$V0Ithnn|Au|OL0}~ioW_TaIT)X~hw3*I!V+Av_F#{6_6qgsStOyKRX(`T$jLyAB zRJ7^e@*)I!9U45^B_u#dFYF${+)O@$Y0*SmP5$;=nuRX-k}|!$JiQ6a3P(N9%(Cw& z9ejH#Pq;3><*;q|&f|5Uj?MZQ{&*tDPAKm8+Vh^Vr%M^AHmiQ#-t?5{P1GU$gMIPG z*PeNl>(Ege$?Qgbd8JJDkWB!|X5R0gFbj=zi(j5Qv!M9(vpjs={RNRBY2C;i7*_6` z{mBB&tpecM1MQjRq=9LHrHtQ7o&7cXKIVoY%yP1i8JolUw5r&KT@M=y8|qgF@2G-R z;d>_H^+NuQwYk9^6f5F97PKla)$_}`Roa!H2rQ`{Bs1wqOmK^C*`=LK4*tZl63T)I z+l1ktyPf0EQMY>I5?*eThOarq57xX_b~6gZLSgpuA8yBux2KWMU1eSVT6LmZDvs3t zEP=;8T)zCX&mdWYl9;Pr`qMG6S8taQ0YaDXeha^KdrhRhMxyaU70KeEI=|lI1}l?M zF>A2cxUBHfvl5MV9GIRDVCjjuEo>may6#4tZJ7R>(oRM56a^FFd3o$Yd%M(LI_=QW z&I)Q&MVx%cc%9X~_s(|Tl(9C*(%|t5NOv5PXMtbGMKwV2%P&>T#^;l=ieO05|*nx+{Vx7uN` zyjf)4OTi~T^`3h{F|0s_ZbuWdf2qw_m2RckdK;1!2lZV%)Ra5Qp83Cgh$s{tWxm*! z3|c&GnoW5vHkV}2%9Oqk`{kdI5~w4g`(V*wHYPA(4-POkH|TqtI|cni-Yq&UFIn03 zxbe_^r;h1*Ww)q_#}2<35nx<*CnChsCplory?gYijr>8dvROvzdyc!(s%Xp)hy$X# z%cAPkBUfk9kY4eSOea(CMQ_%}Wb`kOnWFA-=5jU>{;2!%vl@CFx7vL`nL<5Zlrbfx ze!kOn(OHL%Mblg7zy#mIhEB(=stl{OwJ>Y~|9nFXByk*r_bXBcFR~2~LI-Mo`KZ-Y znH*`wgiY?=`k2l79U1l=lZxINx*?JmB5A6(22%Zgj3Hjzc{SpOb9}W)vURL{*bw9b zBP|_Sx3l~{a|xI8^*X~1w$R;O9(?qlgJdEjF`mV3@Uz#^pXv%(-Zo#|s#?OfhIWGp5T-N+4Ym zZhr?e18a7^bN@^83Qq5EiyUi#9MFg`rwL&~T>^(lbKs}xL zKC|U(;=2a~7+>TShZh*OZM~e$oOmJf<7X(g%&>(mRzeRR&hEe0RM^Kp9MO8}i8;Kx z)W7Y`+#U@%s0NZ0eED*g`h$xzXQpj$l36~Bxyn&)e}J&YU; zGpZZHQcd4e`di8RF&o3{{yB-*e^Xd+>Mr)0QxDHN7F4Z&5VQ=}wN*T#Q$N|Rr!ytm z%Xxas$fK|;(s0&EojV)vvpCI`oJ`I3ZCmaTSx0s|26j$5dwGB6QOnFe*TbFCYFBC? zS#=Ccc7S8xnMY0YD%KCZawDd;e04BUKkAn9_)JHeY|Cudoq6iFb>Q=%%UoP%bP=Sv z@{O?)$4V!A%`1&D*KZD(RN|;gtsGGUtR}s?MJV;9feO$G;&t)w5T!_a7^! znsUFkOuW9Zx!>QAEs$>^hQ^=IicK?A4_!ISt@M3C43eKyT`_LLIll;fpNe0%Ue-14 zhrPzRAsSirqzG+frE~L1`@%O~xA$!H{LCT4(P9@2oqS42ffL+I$_Hgkc>FS z55IX-8}+QY@xE*L9@-M`{=Hj)cPsF21>UW||DzR1DtaSS^-q7UziIHNVb5@%Iqld~ H^_Kqy2j7p4 literal 0 HcmV?d00001 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..eeb5bac97 --- /dev/null +++ b/releasenotes.html @@ -0,0 +1,3083 @@ + + + + + + + + + + + + + + + + + + + + + + + + Release notes - ProGuardCORE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Release notes

+ +

Version 9.1.5

+

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.
  • +
+

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.
  • +
+

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..96b4c0b9a --- /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-915","title":"Version 9.1.5","text":""},{"location":"releasenotes.html#bugfixes","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.
"},{"location":"releasenotes.html#api-changes","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.
"},{"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","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_1","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_1","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","title":"Java support","text":"
  • Update maximum supported Java class version to 66.65535 (Java 22).
"},{"location":"releasenotes.html#api-changes_2","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_1","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_2","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_2","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_3","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_3","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_4","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_4","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_1","title":"Java support","text":"
  • Update maximum supported Java class version to 65.65535 (Java 21).
"},{"location":"releasenotes.html#improved_5","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_5","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_6","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_6","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_7","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_8","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","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_7","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_9","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_1","title":"API Improvements","text":"
  • Add referencedDefaultMethodAccept to KotlinFunctionMetadata model.
"},{"location":"releasenotes.html#version-905","title":"Version 9.0.5","text":""},{"location":"releasenotes.html#improved_10","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_11","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_2","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_2","title":"Java support","text":"
  • Update maximum supported Java class version to 63.65535 (Java 19 ea). (PGD-247)
"},{"location":"releasenotes.html#improved_12","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_3","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_13","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_14","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_3","title":"Java support","text":"
  • Update maximum supported Java class version to 62.65535 (Java 18 ea).
"},{"location":"releasenotes.html#improved_15","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_16","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_17","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_8","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_18","title":"Improved","text":"
  • Upgrade log4j2 dependency to v2.17 in response to CVE-2021-45105.
"},{"location":"releasenotes.html#api-improvements_4","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_19","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_20","title":"Improved","text":"
  • Upgrade log4j2 dependency in response to CVE-2021-44228.
"},{"location":"releasenotes.html#api-improvements_5","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_6","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_4","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_7","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_9","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_8","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_5","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_9","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

"}]} \ 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 0000000000000000000000000000000000000000..e5214490c9821455020bb27861a2a8acb974bd4c GIT binary patch literal 127 zcmV-_0D%7=iwFpO)_WXo8&M?ytk3HC}0~zlG)Vu + + + + + + + + + + + + + + + + + + + + + + + + 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