# DebugPackageInfo

A provider for the binary file and its associated .dwp files, if fission is enabled.If Fission ({@url https://gcc.gnu.org/wiki/DebugFission}) is not enabled, the dwp file will be null.

## Members

- DebugPackageInfo
- dwp_file
- stripped_file
- target_label
- to_json
- to_proto
- unstripped_file

## DebugPackageInfo

    DebugPackageInfo DebugPackageInfo(target_label, stripped_file=None, unstripped_file, dwp_file=None)

The `DebugPackageInfo` constructor.

### Parameters

Parameter | Description
--- | ---
`target_label` | required The label for the *_binary target
`stripped_file` | `File; or None`; default = None The stripped file (the explicit ".stripped" target)
`unstripped_file` | required The unstripped file (the default executable target).
`dwp_file` | `File; or None`; default = None The .dwp file (for fission builds) or null if --fission=no.

## dwp_file

    File DebugPackageInfo.dwp_file

Returns the .dwp file (for fission builds) or null if --fission=no. May return `None`.

## stripped_file

    File DebugPackageInfo.stripped_file

Returns the stripped file (the explicit ".stripped" target). May return `None`.

## target_label

    Label DebugPackageInfo.target_label

Returns the label for the *_binary target

## to_json

    string DebugPackageInfo.to_json()

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with `---incompatible_struct_has_no_methods`. Use this flag to verify your code is compatible with its imminent removal.
Creates a JSON string from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs, a list of these types or a dictionary with string keys and values of these types. Quotes and new lines in strings are escaped. Examples:

    struct(key=123).to_json()
    # {"key":123}

    struct(key=True).to_json()
    # {"key":true}

    struct(key=[1, 2, 3]).to_json()
    # {"key":[1,2,3]}

    struct(key='text').to_json()
    # {"key":"text"}

    struct(key=struct(inner_key='text')).to_json()
    # {"key":{"inner_key":"text"}}

    struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
    # {"key":[{"inner_key":1},{"inner_key":2}]}

    struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
    # {"key":{"inner_key":{"inner_inner_key":"text"}}}

.

Deprecated: instead, use json.encode(x) or json.encode_indent(x), which work for values other than structs and do not pollute the struct field namespace.

## to_proto

    string DebugPackageInfo.to_proto()

Deprecated. This API is deprecated and will be removed soon. Please do not depend on it. It is disabled with `---incompatible_struct_has_no_methods`. Use this flag to verify your code is compatible with its imminent removal.
Creates a text message from the struct parameter. This method only works if all struct elements (recursively) are strings, ints, booleans, other structs or dicts or lists of these types. Quotes and new lines in strings are escaped. Struct keys are iterated in the sorted order. Examples:

    struct(key=123).to_proto()
    # key: 123

    struct(key=True).to_proto()
    # key: true

    struct(key=[1, 2, 3]).to_proto()
    # key: 1
    # key: 2
    # key: 3

    struct(key='text').to_proto()
    # key: "text"

    struct(key=struct(inner_key='text')).to_proto()
    # key {
    #   inner_key: "text"
    # }

    struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
    # key {
    #   inner_key: 1
    # }
    # key {
    #   inner_key: 2
    # }

    struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
    # key {
    #    inner_key {
    #     inner_inner_key: "text"
    #   }
    # }

    struct(foo={4: 3, 2: 1}).to_proto()
    # foo: {
    #   key: 4
    #   value: 3
    # }
    # foo: {
    #   key: 2
    #   value: 1
    # }

Deprecated: use proto.encode_text(x) instead.

## unstripped_file

    File DebugPackageInfo.unstripped_file

Returns the unstripped file (the default executable target)