Informações Cc

Reportar um problema Ver código-fonte Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Um provedor de compilação e vinculação de C++. Ele também é um provedor de marcação que informa às regras do C++ que elas podem depender da regra com esse provedor. Se a regra não for destinada a C++, ela precisa envolver o CcInfo em algum outro provedor.

Membros

CcInfo

CcInfo CcInfo(compilation_context=None, linking_context=None, debug_context=None)

O construtor CcInfo.

Parâmetros

Parâmetro Descrição
compilation_context CompilationContext ou None; o padrão é None
O CompilationContext.
linking_context LinkingContext ou None; o padrão é None
O LinkingContext.
debug_context DebugContext ou None; o padrão é None
O DebugContext.

compilation_context

CompilationContext CcInfo.compilation_context

Retorna CompilationContext

linking_context

LinkingContext CcInfo.linking_context

Retorna o LinkingContext.

to_json

string CcInfo.to_json()

Descontinuado. Esta API foi descontinuada e será removida em breve. Não dependa dele. Ele está desativado com ---incompatible_struct_has_no_methods. Use essa flag para verificar se o código é compatível com a remoção iminente.
Cria uma string JSON com base no parâmetro de estrutura. Esse método só funciona se todos os elementos struct (recursivamente) forem strings, ints, booleanos, outras estruturas, uma lista desses tipos ou um dicionário com chaves de string e valores desses tipos. Aspas e novas linhas em strings são escapadas. Exemplos:
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"}}}
.

Obsoleto: use json.encode(x) ou json.encode_indent(x), que funcionam para valores diferentes de structs e não poluem o namespace do campo struct.

to_proto

string CcInfo.to_proto()

Descontinuado. Esta API foi descontinuada e será removida em breve. Não dependa dele. Ele está desativado com ---incompatible_struct_has_no_methods. Use essa sinalização para verificar se seu código é compatível com a remoção iminente.
Cria uma mensagem de texto usando o parâmetro struct. Esse método só funciona se todos os elementos de struct (recursivamente) forem strings, ints, booleans, outros structs ou dicionários ou listas desses tipos. Aspas e novas linhas em strings são escapadas. As chaves de estrutura são iteradas na ordem classificada. Exemplos:
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
# }

Descontinuado: use proto.encode_text(x).