Interface IDynamicContentManager


public interface IDynamicContentManager
A dynamic content manager is used by AST output sinks to customize the generated output.
  • Method Details

    • getDexType

      IDexType getDexType(String csig)
      Retrieve a dex type by class signature.
      Parameters:
      csig - class signature
      Returns:
      the dex type, or null if it is unavailable
    • isAnonymousClass

      boolean isAnonymousClass(IJavaType type)
      Determine whether a Java type represents an anonymous class.
      Parameters:
      type - Java type
      Returns:
      true if the type is an anonymous class
    • generateType

      boolean generateType(JavaOutputSink out, IJavaType type, boolean isFullyQualified, boolean isDefinition, long constructorItemId)
      Generate a type name.
      Parameters:
      out - output sink
      type - type to generate
      isFullyQualified - true to generate a fully qualified type name
      isDefinition - true if the generated type is a definition
      constructorItemId - identifier to use for a constructor item, or 0
      Returns:
      true if the type was generated
    • generatePackageName

      String generatePackageName(JavaOutputSink out, IJavaType type)
      Generate the package name for a type.
      Parameters:
      out - output sink
      type - type whose package name should be generated
      Returns:
      the generated package name, or null if none was generated
    • getComment

      String getComment(ICodeCoordinates coordinates)
      Retrieve an inline comment for code coordinates.
      Parameters:
      coordinates - code coordinates
      Returns:
      the comment text, or null if none is available
    • getPreComment

      String getPreComment(ICodeCoordinates coordinates)
      Retrieve a pre-comment for code coordinates.
      Parameters:
      coordinates - code coordinates
      Returns:
      the comment text, or null if none is available
    • getMethodSignature

      String getMethodSignature(int index)
      Retrieve a method signature by index.
      Parameters:
      index - method index
      Returns:
      the method signature, or null if unavailable
    • getMethodName

      String getMethodName(int index)
      Retrieve a method name by index.
      Parameters:
      index - method index
      Returns:
      the method name, or null if unavailable
    • wasMethodRenamed

      boolean wasMethodRenamed(int index)
      Determine whether a method was renamed.
      Parameters:
      index - method index
      Returns:
      true if the method was renamed
    • getMethodId

      long getMethodId(int index)
      Retrieve the item identifier for a method.
      Parameters:
      index - method index
      Returns:
      the method item identifier, or 0 if unavailable
    • getBestVirtualMethodId

      long getBestVirtualMethodId(int methodIndex, IJavaType actualObjecttype, List<Integer> candidateMethodsIndices)
      Retrieve the best virtual method item identifier for a call target.
      Parameters:
      methodIndex - resolved method index
      actualObjecttype - actual receiver type
      candidateMethodsIndices - candidate method indices
      Returns:
      the selected method item identifier, or 0 if unavailable
    • getImplStaticMethodId

      long getImplStaticMethodId(int methodIndex)
      Retrieve the implementation item identifier for a static method.
      Parameters:
      methodIndex - method index
      Returns:
      the implementation method item identifier, or 0 if unavailable
    • getFieldSignature

      String getFieldSignature(int index)
      Retrieve a field signature by index.
      Parameters:
      index - field index
      Returns:
      the field signature, or null if unavailable
    • getFieldName

      String getFieldName(int index)
      Retrieve a field name by index.
      Parameters:
      index - field index
      Returns:
      the field name, or null if unavailable
    • wasFieldRenamed

      boolean wasFieldRenamed(int index)
      Determine whether a field was renamed.
      Parameters:
      index - field index
      Returns:
      true if the field was renamed
    • getFieldId

      long getFieldId(int index)
      Retrieve the item identifier for a field.
      Parameters:
      index - field index
      Returns:
      the field item identifier, or 0 if unavailable
    • getImplFieldId

      long getImplFieldId(int fieldIndex)
      Retrieve the implementation item identifier for a field.
      Parameters:
      fieldIndex - field index
      Returns:
      the implementation field item identifier, or 0 if unavailable
    • getLabelName

      String getLabelName(ICodeCoordinates coordinates)
      Retrieve the display name of a label.
      Parameters:
      coordinates - label coordinates
      Returns:
      the label name, or null if unavailable
    • getLabelId

      long getLabelId(ICodeCoordinates coordinates)
      Retrieve the item identifier for a label.
      Parameters:
      coordinates - label coordinates
      Returns:
      the label item identifier, or 0 if unavailable
    • getIdentifierName

      String getIdentifierName(IdentifierCoordinates coordinates)
      Retrieve the display name of an identifier.
      Parameters:
      coordinates - identifier coordinates
      Returns:
      the identifier name, or null if unavailable
    • getIdentifierId

      long getIdentifierId(IdentifierCoordinates coordinates)
      Retrieve the item identifier for an identifier.
      Parameters:
      coordinates - identifier coordinates
      Returns:
      the identifier item identifier, or 0 if unavailable
    • getStringInfo

      StringInfo getStringInfo(String constant)
      Retrieve rendering information for a string constant.
      Parameters:
      constant - string constant
      Returns:
      string rendering information, or null if unavailable
    • getImmediateId

      long getImmediateId(long rawvalue)
      Retrieve the item identifier for an immediate value.
      Parameters:
      rawvalue - immediate value
      Returns:
      the immediate item identifier, or 0 if unavailable
    • getImmediatePreferredBase

      int getImmediatePreferredBase(long rawvalue)
      Retrieve the preferred numeric base for an immediate value.
      Parameters:
      rawvalue - immediate value
      Returns:
      the preferred base, or 0 if the default should be used
    • retrieveImmediateHint

      String retrieveImmediateHint(long rawValue)
      Retrieve a display hint for an immediate value.
      Parameters:
      rawValue - immediate value
      Returns:
      the display hint, or null if unavailable
    • findTypesWithSuperMethods

      List<String> findTypesWithSuperMethods(int methodIndex)
      Find types that define or inherit a super-method matching a method.
      Parameters:
      methodIndex - method index
      Returns:
      matching type signatures
    • getDecryptorData

      String getDecryptorData(int methodIndex)
      Retrieve decryptor metadata for a method.
      Parameters:
      methodIndex - method index
      Returns:
      decryptor metadata, or null if unavailable
    • isCollapsed

      boolean isCollapsed(String addr, String[] areason)
      Determine whether an address should be rendered collapsed.
      Parameters:
      addr - address
      areason - optional single-element output array receiving the collapse reason
      Returns:
      true if the address should be collapsed