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)
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
CompilationContext
linking_context
LinkingContext CcInfo.linking_context
LinkingContext
to_json
string CcInfo.to_json()
---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 de struct (recursivamente) forem strings, números inteiros, booleanos, outros structs, uma lista desses tipos ou um dicionário com chaves e valores de string 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"}}}
Descontinuado: 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()
---incompatible_struct_has_no_methods
. Use essa flag para verificar se o código é compatível com a remoção iminente. Cria uma mensagem de texto com base no parâmetro de estrutura. Esse método só funciona se todos os elementos do 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).