CcInfo

Báo cáo sự cố Xem nguồn

Nhà cung cấp dịch vụ biên dịch và liên kết C++. Đây cũng là nhà cung cấp dịch vụ đánh dấu cho các quy tắc C++ biết rằng họ có thể phụ thuộc vào quy tắc với nhà cung cấp này. Nếu quy tắc không phụ thuộc vào C++, thì quy tắc phải bao bọc CcInfo trong một số 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ố Nội dung 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ị xoá. Vui lòng không phụ thuộc vào công cụ này. Tính năng này bị tắt bằng ---incompatible_struct_has_no_methods. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc mã sắp bị xoá.
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ả phần tử cấu trúc (theo quy tắc đệ quy) là chuỗi, số nguyên, 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ị thuộc các kiểu này. Dấu ngoặc kép và các dòng mới trong chuỗi sẽ đượ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 dùng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động với các giá trị không phải là cấu trúc và không làm ô nhiễm không gian tên của 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ị xoá. Vui lòng không phụ thuộc vào công cụ này. Tính năng này bị tắt bằng ---incompatible_struct_has_no_methods. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc mã sắp bị xoá.
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 (theo quy tắc đệ quy) là chuỗi, số nguyên, boolean, các cấu trúc hay lệnh chính tả khác hoặc danh sách thuộc những loại này. Dấu ngoặc kép và các dòng mới trong chuỗi sẽ được thoát. Các khoá cấu trúc được lặp lại theo thứ tự được 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 dùng proto.encode_text(x).