All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.java.com.debughelper.tools.r8.dex.MixedSectionCollection Maven / Gradle / Ivy

The newest version!
// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.debughelper.tools.r8.dex;

import com.debughelper.tools.r8.graph.DexAnnotation;
import com.debughelper.tools.r8.graph.DexAnnotationDirectory;
import com.debughelper.tools.r8.graph.DexAnnotationSet;
import com.debughelper.tools.r8.graph.DexCode;
import com.debughelper.tools.r8.graph.DexDebugInfo;
import com.debughelper.tools.r8.graph.DexEncodedArray;
import com.debughelper.tools.r8.graph.DexItem;
import com.debughelper.tools.r8.graph.DexProgramClass;
import com.debughelper.tools.r8.graph.DexTypeList;
import com.debughelper.tools.r8.graph.ParameterAnnotationsList;

/**
 * Collection of the various components of the mixed section of a dex file.
 *
 * 

This semantically is just a wrapper around a bunch of collections. We do not expose the * collections directly to allow for implementations that under the hood do not use collections. * *

See {@link DexItem#collectMixedSectionItems(MixedSectionCollection)} for * information on how to fill a {@link MixedSectionCollection}. */ public abstract class MixedSectionCollection { /** * Adds the given class data to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(com.debughelper.tools.r8.graph.DexProgramClass dexClassData); /** * Adds the given encoded array to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexEncodedArray dexEncodedArray); /** * Adds the given annotation set to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexAnnotationSet dexAnnotationSet); /** * Adds the given code item to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexCode dexCode); /** * Adds the given debug info to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexDebugInfo dexDebugInfo); /** * Adds the given type list to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexTypeList dexTypeList); /** * Adds the given annotation-set reference list to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(ParameterAnnotationsList annotationSetRefList); /** * Adds the given annotation to the collection. * * Does not add any dependencies. * * @return true if the item was not added before */ public abstract boolean add(DexAnnotation annotation); /** * Adds the given annotation directory to the collection. * * Add a dependency between the clazz and the annotation directory. * * @return true if the item was not added before */ public abstract boolean setAnnotationsDirectoryForClass(DexProgramClass clazz, DexAnnotationDirectory annotationDirectory); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy