1
1
mirror of https://github.com/github/semantic.git synced 2024-12-30 02:14:20 +03:00
semantic/proto/types.proto

149 lines
2.5 KiB
Protocol Buffer
Raw Normal View History

2018-07-12 20:08:30 +03:00
// This file was generated by proto-gen. Do not edit by hand.
syntax = "proto3";
2018-06-28 23:11:15 +03:00
package github.semantic;
option java_package = "com.github.semantic.types";
option go_package = "github.com/semantic/types;types";
enum Language {
UNKNOWN = 0;
GO = 1;
HASKELL = 2;
JAVA = 3;
JAVASCRIPT = 4;
JSON = 5;
JSX = 6;
MARKDOWN = 7;
PYTHON = 8;
RUBY = 9;
TYPESCRIPT = 10;
PHP = 11;
}
2018-07-16 22:29:29 +03:00
message BlobPair {
Blob before = 1;
Blob after = 2;
}
message Blob {
bytes blobSource = 1;
string blobPath = 2;
Language blobLanguage = 3;
}
message ErrorSite {
string errorMessage = 1;
SrcLoc errorLocation = 2;
}
message Position {
int64 line = 1;
int64 column = 2;
}
message Project {
string projectRootDir = 1;
repeated Blob projectBlobs = 2;
Language projectLanguage = 3;
repeated string projectExcludeDirs = 4[packed = false] ;
}
message Span {
Position start = 1;
Position end = 2;
}
2018-09-07 03:27:13 +03:00
message Range {
int64 start = 1;
int64 end = 2;
}
message SrcLoc {
string srcLocPackage = 1;
string srcLocModule = 2;
string srcLocFile = 3;
int64 srcLocStartLine = 4;
int64 srcLocStartCol = 5;
int64 srcLocEndLine = 6;
int64 srcLocEndCol = 7;
}
message ControlFlowGraph {
repeated ControlFlowVertex vertices = 1;
repeated ControlFlowEdge edges = 2;
}
message ControlFlowEdge {
int64 source = 1;
int64 target = 2;
}
message ControlFlowVertex {
oneof vertex {
Package package = 1;
Module module = 2;
UnknownModule unknownModule = 3;
Variable variable = 4;
Method method = 5;
Function function = 6;
}
message Package {
int64 id = 1;
string name = 2;
string description = 3;
}
message Module {
int64 id = 1;
string name = 2;
string description = 3;
}
message UnknownModule {
int64 id = 1;
string name = 2;
string description = 3;
}
message Variable {
int64 id = 1;
string name = 2;
string description = 3;
string moduleName = 4;
Span span = 5;
}
message Method {
int64 id = 1;
string name = 2;
string description = 3;
string moduleName = 4;
Span span = 5;
}
message Function {
int64 id = 1;
string name = 2;
string description = 3;
string moduleName = 4;
Span span = 5;
}
}
2018-09-07 03:27:13 +03:00
message TermGraph {
repeated TermVertex vertices = 1;
repeated TermEdge edges = 2;
}
message TermEdge {
int64 source = 1;
int64 target = 2;
2018-09-07 03:27:13 +03:00
}
message TermVertex {
int64 id = 1;
string name = 2;
2018-09-11 03:28:42 +03:00
TermAnnotation annotation = 3;
2018-09-07 03:27:13 +03:00
}
message TermAnnotation {
Range range = 1;
Span span = 2;
}