| /* |
| * Copyright 2015 The Kythe Authors. All rights reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto3"; |
| |
| package kythe.proto; |
| |
| option go_package = "cxx_go_proto"; |
| option java_package = "com.google.devtools.kythe.proto"; |
| |
| // C++-specific details used in a CompilationUnit. |
| // Its type is "kythe.io/proto/kythe.proto.CxxCompilationUnitDetails". |
| message CxxCompilationUnitDetails { |
| // A path used to search for compilation resources. |
| message HeaderSearchDir { |
| // The path to search in. If relative, is relative to working_directory. |
| string path = 1; |
| // The kind of data stored in this directory. |
| // For C++, {0 = user code, 1 = system code, 2 = "extern C" system code}. |
| int32 characteristic_kind = 2; |
| // If true, this directory is a framework. |
| bool is_framework = 3; |
| } |
| |
| // Configuration for header search. This may be a function |
| // of more state than is reflected in the environment and compiler |
| // arguments. |
| message HeaderSearchInfo { |
| // For C-family languages, the index of the first directory to require <>s. |
| int32 first_angled_dir = 1; |
| // For C-family languages, the index of the first directory to have the |
| // 'system_header' property. |
| int32 first_system_dir = 2; |
| // All search directories, ordered as {quoted, angled, system}. |
| repeated HeaderSearchDir dir = 3; |
| } |
| |
| HeaderSearchInfo header_search_info = 1; |
| |
| // Overrides the default assignment for the 'system_header' property for |
| // C-family languages for both quoted and angled includes. The last matching |
| // entry has effect. |
| message SystemHeaderPrefix { |
| // Matches if the include path has this string as a prefix. |
| string prefix = 1; |
| // Controls whether the matched path has the 'system_header' property. |
| bool is_system_header = 2; |
| } |
| |
| repeated SystemHeaderPrefix system_header_prefix = 2; |
| |
| // Adds an additional path to the indexer's virtual file system that |
| // has no content (or has zero-length content). |
| message StatPath { |
| // The path to add. Assumed to be a directory. |
| string path = 1; |
| } |
| |
| repeated StatPath stat_path = 3; |
| } |