CcInfo

Báo cáo vấn đề Xem nguồn Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Một trình cung cấp để biên dịch và liên kết C++. Đây cũng là một trình cung cấp đánh dấu cho các quy tắc C++ biết rằng chúng có thể phụ thuộc vào quy tắc có trình cung cấp này. Nếu không nhằm mục đích để C++ phụ thuộc vào quy tắc, thì quy tắc đó sẽ bao bọc CcInfo trong một số trình cung cấp khác.

Hội viên

CcInfo

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

Hàm khởi tạo CcInfo.

Thông số

Thông số Mô tả
compilation_context CompilationContext; hoặc None; mặc định là None
CompilationContext.
linking_context LinkingContext; hoặc None; mặc định là None
LinkingContext.
debug_context DebugContext; hoặc None; mặc định là None
DebugContext.

compilation_context

CompilationContext CcInfo.compilation_context

Trả về CompilationContext

linking_context

LinkingContext CcInfo.linking_context

Trả về LinkingContext

to_json

string CcInfo.to_json()

Không dùng nữa. API này không được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào thông tin này. Tính năng này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới.
Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có khoá chuỗi và giá trị của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
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"}}}
.

Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ảnh hưởng đến không gian tên trường cấu trúc.

to_proto

string CcInfo.to_proto()

Không dùng nữa. API này không được dùng nữa và sẽ sớm bị loại bỏ. Vui lòng không phụ thuộc vào thông tin này. Tính năng này đã tắt bằng ---incompatible_struct_has_no_methods. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới.
Tạo một tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc hoặc từ điển khác hoặc danh sách các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
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
# }

Không dùng nữa: thay vào đó, hãy sử dụng proto.encode_text(x).