Commit e6d2bdc7 authored by Loïc Correnson's avatar Loïc Correnson
Browse files

[ivette] hide object fields in api documentation

parent 93bdc8a8
......@@ -43,32 +43,34 @@ export const byVariableName: Compare.Order<variableName> =
varName: Compare.alpha,
});
/** Retrieve the whole graph */
export const graph: Server.GetRequest<null,Json.json> = {
const graph_internal: Server.GetRequest<null,Json.json> = {
kind: Server.RqKind.GET,
name: 'dive.graph',
input: Json.jNull,
output: Json.jAny,
};
/** Retrieve the whole graph */
export const graph: Server.GetRequest<null,Json.json>= graph_internal;
/** Erase the graph and start over with an empty one */
export const clear: Server.ExecRequest<null,null> = {
const clear_internal: Server.ExecRequest<null,null> = {
kind: Server.RqKind.EXEC,
name: 'dive.clear',
input: Json.jNull,
output: Json.jNull,
};
/** Erase the graph and start over with an empty one */
export const clear: Server.ExecRequest<null,null>= clear_internal;
/** Add a variable to the graph */
export const addVar: Server.ExecRequest<variableName,Json.json> = {
const addVar_internal: Server.ExecRequest<variableName,Json.json> = {
kind: Server.RqKind.EXEC,
name: 'dive.addVar',
input: jVariableName,
output: Json.jAny,
};
/** Add a variable to the graph */
export const addVar: Server.ExecRequest<variableName,Json.json>= addVar_internal;
/** Add all alarms of the given function */
export const addFunctionAlarms: Server.ExecRequest<
const addFunctionAlarms_internal: Server.ExecRequest<
Json.key<'#fct'>,
Json.json
> = {
......@@ -77,29 +79,40 @@ export const addFunctionAlarms: Server.ExecRequest<
input: Json.jKey<'#fct'>('#fct'),
output: Json.jAny,
};
/** Add all alarms of the given function */
export const addFunctionAlarms: Server.ExecRequest<
Json.key<'#fct'>,
Json.json
>= addFunctionAlarms_internal;
/** Explore the graph starting from an existing vertex */
export const explore: Server.ExecRequest<Json.index<'#dive-node'>,Json.json> = {
const explore_internal: Server.ExecRequest<
Json.index<'#dive-node'>,
Json.json
> = {
kind: Server.RqKind.EXEC,
name: 'dive.explore',
input: Json.jIndex<'#dive-node'>('#dive-node'),
output: Json.jAny,
};
/** Explore the graph starting from an existing vertex */
export const explore: Server.ExecRequest<Json.index<'#dive-node'>,Json.json>= explore_internal;
/** Show the dependencies of an existing vertex */
export const show: Server.ExecRequest<Json.index<'#dive-node'>,Json.json> = {
const show_internal: Server.ExecRequest<Json.index<'#dive-node'>,Json.json> = {
kind: Server.RqKind.EXEC,
name: 'dive.show',
input: Json.jIndex<'#dive-node'>('#dive-node'),
output: Json.jAny,
};
/** Show the dependencies of an existing vertex */
export const show: Server.ExecRequest<Json.index<'#dive-node'>,Json.json>= show_internal;
/** Hide the dependencies of an existing vertex */
export const hide: Server.ExecRequest<Json.index<'#dive-node'>,Json.json> = {
const hide_internal: Server.ExecRequest<Json.index<'#dive-node'>,Json.json> = {
kind: Server.RqKind.EXEC,
name: 'dive.hide',
input: Json.jIndex<'#dive-node'>('#dive-node'),
output: Json.jAny,
};
/** Hide the dependencies of an existing vertex */
export const hide: Server.ExecRequest<Json.index<'#dive-node'>,Json.json>= hide_internal;
/* ------------------------------------- */
......@@ -32,13 +32,14 @@ import { tag } from 'api/kernel/data';
//@ts-ignore
import { text } from 'api/kernel/data';
/** Ensures that AST is computed */
export const compute: Server.ExecRequest<null,null> = {
const compute_internal: Server.ExecRequest<null,null> = {
kind: Server.RqKind.EXEC,
name: 'kernel.ast.compute',
input: Json.jNull,
output: Json.jNull,
};
/** Ensures that AST is computed */
export const compute: Server.ExecRequest<null,null>= compute_internal;
/** Marker kind */
export enum markerKind {
......@@ -73,13 +74,14 @@ export const jMarkerKindSafe: Json.Safe<markerKind> =
export const byMarkerKind: Compare.Order<markerKind> =
Compare.byEnum(markerKind);
/** Registered tags for the above type. */
export const markerKindTags: Server.GetRequest<null,tag[]> = {
const markerKindTags_internal: Server.GetRequest<null,tag[]> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.markerKindTags',
input: Json.jNull,
output: Json.jList(jTag),
};
/** Registered tags for the above type. */
export const markerKindTags: Server.GetRequest<null,tag[]>= markerKindTags_internal;
/** Data for array rows [`markerInfo`](#markerinfo) */
export interface markerInfoData {
......@@ -123,16 +125,16 @@ export const signalMarkerInfo: Server.Signal = {
name: 'kernel.ast.signalMarkerInfo',
};
/** Force full reload for array [`markerInfo`](#markerinfo) */
export const reloadMarkerInfo: Server.GetRequest<null,null> = {
const reloadMarkerInfo_internal: Server.GetRequest<null,null> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.reloadMarkerInfo',
input: Json.jNull,
output: Json.jNull,
};
/** Force full reload for array [`markerInfo`](#markerinfo) */
export const reloadMarkerInfo: Server.GetRequest<null,null>= reloadMarkerInfo_internal;
/** Data fetcher for array [`markerInfo`](#markerinfo) */
export const fetchMarkerInfo: Server.GetRequest<
const fetchMarkerInfo_internal: Server.GetRequest<
number,
{ pending: number, updated: markerInfoData[],
removed: Json.key<'#markerInfo'>[], reload: boolean }
......@@ -147,9 +149,17 @@ export const fetchMarkerInfo: Server.GetRequest<
reload: Json.jFail(Json.jBoolean,'Boolean expected'),
}),
};
/** Data fetcher for array [`markerInfo`](#markerinfo) */
export const fetchMarkerInfo: Server.GetRequest<
number,
{ pending: number, updated: markerInfoData[],
removed: Json.key<'#markerInfo'>[], reload: boolean }
>= fetchMarkerInfo_internal;
/** Marker informations */
export const markerInfo: State.Array<Json.key<'#markerInfo'>,markerInfoData> = {
const markerInfo_internal: State.Array<
Json.key<'#markerInfo'>,
markerInfoData
> = {
name: 'kernel.ast.markerInfo',
getkey: ((d:markerInfoData) => d.key),
signal: signalMarkerInfo,
......@@ -157,6 +167,8 @@ export const markerInfo: State.Array<Json.key<'#markerInfo'>,markerInfoData> = {
reload: reloadMarkerInfo,
order: byMarkerInfoData,
};
/** Marker informations */
export const markerInfo: State.Array<Json.key<'#markerInfo'>,markerInfoData> = markerInfo_internal;
/** Localizable AST markers */
export type marker =
......@@ -185,21 +197,23 @@ export const jMarkerSafe: Json.Safe<marker> =
/** Natural order for `marker` */
export const byMarker: Compare.Order<marker> = Compare.structural;
/** Collect all functions in the AST */
export const getFunctions: Server.GetRequest<null,Json.key<'#fct'>[]> = {
const getFunctions_internal: Server.GetRequest<null,Json.key<'#fct'>[]> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.getFunctions',
input: Json.jNull,
output: Json.jList(Json.jKey<'#fct'>('#fct')),
};
/** Collect all functions in the AST */
export const getFunctions: Server.GetRequest<null,Json.key<'#fct'>[]>= getFunctions_internal;
/** Print the AST of a function */
export const printFunction: Server.GetRequest<Json.key<'#fct'>,text> = {
const printFunction_internal: Server.GetRequest<Json.key<'#fct'>,text> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.printFunction',
input: Json.jKey<'#fct'>('#fct'),
output: jText,
};
/** Print the AST of a function */
export const printFunction: Server.GetRequest<Json.key<'#fct'>,text>= printFunction_internal;
/** Data for array rows [`functions`](#functions) */
export interface functionsData {
......@@ -238,16 +252,16 @@ export const signalFunctions: Server.Signal = {
name: 'kernel.ast.signalFunctions',
};
/** Force full reload for array [`functions`](#functions) */
export const reloadFunctions: Server.GetRequest<null,null> = {
const reloadFunctions_internal: Server.GetRequest<null,null> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.reloadFunctions',
input: Json.jNull,
output: Json.jNull,
};
/** Force full reload for array [`functions`](#functions) */
export const reloadFunctions: Server.GetRequest<null,null>= reloadFunctions_internal;
/** Data fetcher for array [`functions`](#functions) */
export const fetchFunctions: Server.GetRequest<
const fetchFunctions_internal: Server.GetRequest<
number,
{ pending: number, updated: functionsData[],
removed: Json.key<'#functions'>[], reload: boolean }
......@@ -262,9 +276,14 @@ export const fetchFunctions: Server.GetRequest<
reload: Json.jFail(Json.jBoolean,'Boolean expected'),
}),
};
/** Data fetcher for array [`functions`](#functions) */
export const fetchFunctions: Server.GetRequest<
number,
{ pending: number, updated: functionsData[],
removed: Json.key<'#functions'>[], reload: boolean }
>= fetchFunctions_internal;
/** AST Functions */
export const functions: State.Array<Json.key<'#functions'>,functionsData> = {
const functions_internal: State.Array<Json.key<'#functions'>,functionsData> = {
name: 'kernel.ast.functions',
getkey: ((d:functionsData) => d.key),
signal: signalFunctions,
......@@ -272,29 +291,34 @@ export const functions: State.Array<Json.key<'#functions'>,functionsData> = {
reload: reloadFunctions,
order: byFunctionsData,
};
/** AST Functions */
export const functions: State.Array<Json.key<'#functions'>,functionsData> = functions_internal;
/** Get textual information about a marker */
export const getInfo: Server.GetRequest<marker,text> = {
const getInfo_internal: Server.GetRequest<marker,text> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.getInfo',
input: jMarker,
output: jText,
};
/** Get textual information about a marker */
export const getInfo: Server.GetRequest<marker,text>= getInfo_internal;
/** Get the currently analyzed source file names */
export const getFiles: Server.GetRequest<null,string[]> = {
const getFiles_internal: Server.GetRequest<null,string[]> = {
kind: Server.RqKind.GET,
name: 'kernel.ast.getFiles',
input: Json.jNull,
output: Json.jList(Json.jString),
};
/** Get the currently analyzed source file names */
export const getFiles: Server.GetRequest<null,string[]>= getFiles_internal;
/** Set the source file names to analyze. */
export const setFiles: Server.SetRequest<string[],null> = {
const setFiles_internal: Server.SetRequest<string[],null> = {
kind: Server.RqKind.SET,
name: 'kernel.ast.setFiles',
input: Json.jList(Json.jString),
output: Json.jNull,
};
/** Set the source file names to analyze. */
export const setFiles: Server.SetRequest<string[],null>= setFiles_internal;
/* ------------------------------------- */
......@@ -67,60 +67,67 @@ export const byProjectRequest: Compare.Order<projectRequest> =
data: Compare.structural,
});
/** Returns the current project */
export const getCurrent: Server.GetRequest<null,projectInfo> = {
const getCurrent_internal: Server.GetRequest<null,projectInfo> = {
kind: Server.RqKind.GET,
name: 'kernel.project.getCurrent',
input: Json.jNull,
output: jProjectInfo,
};
/** Returns the current project */
export const getCurrent: Server.GetRequest<null,projectInfo>= getCurrent_internal;
/** Switches the current project */
export const setCurrent: Server.SetRequest<Json.key<'#project'>,null> = {
const setCurrent_internal: Server.SetRequest<Json.key<'#project'>,null> = {
kind: Server.RqKind.SET,
name: 'kernel.project.setCurrent',
input: Json.jKey<'#project'>('#project'),
output: Json.jNull,
};
/** Switches the current project */
export const setCurrent: Server.SetRequest<Json.key<'#project'>,null>= setCurrent_internal;
/** Returns the list of all projects */
export const getList: Server.GetRequest<null,projectInfo[]> = {
const getList_internal: Server.GetRequest<null,projectInfo[]> = {
kind: Server.RqKind.GET,
name: 'kernel.project.getList',
input: Json.jNull,
output: Json.jList(jProjectInfo),
};
/** Returns the list of all projects */
export const getList: Server.GetRequest<null,projectInfo[]>= getList_internal;
/** Execute a GET request within the given project */
export const getOn: Server.GetRequest<projectRequest,Json.json> = {
const getOn_internal: Server.GetRequest<projectRequest,Json.json> = {
kind: Server.RqKind.GET,
name: 'kernel.project.getOn',
input: jProjectRequest,
output: Json.jAny,
};
/** Execute a GET request within the given project */
export const getOn: Server.GetRequest<projectRequest,Json.json>= getOn_internal;
/** Execute a SET request within the given project */
export const setOn: Server.SetRequest<projectRequest,Json.json> = {
const setOn_internal: Server.SetRequest<projectRequest,Json.json> = {
kind: Server.RqKind.SET,
name: 'kernel.project.setOn',
input: jProjectRequest,
output: Json.jAny,
};
/** Execute a SET request within the given project */
export const setOn: Server.SetRequest<projectRequest,Json.json>= setOn_internal;
/** Execute an EXEC request within the given project */
export const execOn: Server.ExecRequest<projectRequest,Json.json> = {
const execOn_internal: Server.ExecRequest<projectRequest,Json.json> = {
kind: Server.RqKind.EXEC,
name: 'kernel.project.execOn',
input: jProjectRequest,
output: Json.jAny,
};
/** Execute an EXEC request within the given project */
export const execOn: Server.ExecRequest<projectRequest,Json.json>= execOn_internal;
/** Create a new project */
export const create: Server.SetRequest<string,projectInfo> = {
const create_internal: Server.SetRequest<string,projectInfo> = {
kind: Server.RqKind.SET,
name: 'kernel.project.create',
input: Json.jString,
output: jProjectInfo,
};
/** Create a new project */
export const create: Server.SetRequest<string,projectInfo>= create_internal;
/* ------------------------------------- */
......@@ -108,13 +108,14 @@ export const jPropKindSafe: Json.Safe<propKind> =
/** Natural order for `propKind` */
export const byPropKind: Compare.Order<propKind> = Compare.byEnum(propKind);
/** Registered tags for the above type. */
export const propKindTags: Server.GetRequest<null,tag[]> = {
const propKindTags_internal: Server.GetRequest<null,tag[]> = {
kind: Server.RqKind.GET,
name: 'kernel.properties.propKindTags',
input: Json.jNull,
output: Json.jList(jTag),
};
/** Registered tags for the above type. */
export const propKindTags: Server.GetRequest<null,tag[]>= propKindTags_internal;
/** Property Status (consolidated) */
export enum propStatus {
......@@ -153,13 +154,14 @@ export const jPropStatusSafe: Json.Safe<propStatus> =
export const byPropStatus: Compare.Order<propStatus> =
Compare.byEnum(propStatus);
/** Registered tags for the above type. */
export const propStatusTags: Server.GetRequest<null,tag[]> = {
const propStatusTags_internal: Server.GetRequest<null,tag[]> = {
kind: Server.RqKind.GET,
name: 'kernel.properties.propStatusTags',
input: Json.jNull,
output: Json.jList(jTag),
};
/** Registered tags for the above type. */
export const propStatusTags: Server.GetRequest<null,tag[]>= propStatusTags_internal;
/** Alarm Kinds */
export enum alarms {
......@@ -211,13 +213,14 @@ export const jAlarmsSafe: Json.Safe<alarms> =
/** Natural order for `alarms` */
export const byAlarms: Compare.Order<alarms> = Compare.byEnum(alarms);
/** Registered tags for the above type. */
export const alarmsTags: Server.GetRequest<null,tag[]> = {
const alarmsTags_internal: Server.GetRequest<null,tag[]> = {
kind: Server.RqKind.GET,
name: 'kernel.properties.alarmsTags',
input: Json.jNull,
output: Json.jList(jTag),
};
/** Registered tags for the above type. */
export const alarmsTags: Server.GetRequest<null,tag[]>= alarmsTags_internal;
/** Data for array rows [`status`](#status) */
export interface statusData {
......@@ -290,16 +293,16 @@ export const signalStatus: Server.Signal = {
name: 'kernel.properties.signalStatus',
};
/** Force full reload for array [`status`](#status) */
export const reloadStatus: Server.GetRequest<null,null> = {
const reloadStatus_internal: Server.GetRequest<null,null> = {
kind: Server.RqKind.GET,
name: 'kernel.properties.reloadStatus',
input: Json.jNull,
output: Json.jNull,
};
/** Force full reload for array [`status`](#status) */
export const reloadStatus: Server.GetRequest<null,null>= reloadStatus_internal;
/** Data fetcher for array [`status`](#status) */
export const fetchStatus: Server.GetRequest<
const fetchStatus_internal: Server.GetRequest<
number,
{ pending: number, updated: statusData[], removed: Json.key<'#status'>[],
reload: boolean }
......@@ -314,9 +317,14 @@ export const fetchStatus: Server.GetRequest<
reload: Json.jFail(Json.jBoolean,'Boolean expected'),
}),
};
/** Data fetcher for array [`status`](#status) */
export const fetchStatus: Server.GetRequest<
number,
{ pending: number, updated: statusData[], removed: Json.key<'#status'>[],
reload: boolean }
>= fetchStatus_internal;
/** Status of Registered Properties */
export const status: State.Array<Json.key<'#status'>,statusData> = {
const status_internal: State.Array<Json.key<'#status'>,statusData> = {
name: 'kernel.properties.status',
getkey: ((d:statusData) => d.key),
signal: signalStatus,
......@@ -324,5 +332,7 @@ export const status: State.Array<Json.key<'#status'>,statusData> = {
reload: reloadStatus,
order: byStatusData,
};
/** Status of Registered Properties */
export const status: State.Array<Json.key<'#status'>,statusData> = status_internal;
/* ------------------------------------- */
......@@ -24,8 +24,7 @@ import { jTagSafe } from 'api/kernel/data';
//@ts-ignore
import { tag } from 'api/kernel/data';
/** Frama-C Kernel configuration */
export const getConfig: Server.GetRequest<
const getConfig_internal: Server.GetRequest<
null,
{ pluginpath: string[], libdir: string, datadir: string, version: string }
> = {
......@@ -39,14 +38,20 @@ export const getConfig: Server.GetRequest<
version: Json.jFail(Json.jString,'String expected'),
}),
};
/** Frama-C Kernel configuration */
export const getConfig: Server.GetRequest<
null,
{ pluginpath: string[], libdir: string, datadir: string, version: string }
>= getConfig_internal;
/** Load a save file. Returns an error, if not successfull. */
export const load: Server.SetRequest<string,string | undefined> = {
const load_internal: Server.SetRequest<string,string | undefined> = {
kind: Server.RqKind.SET,
name: 'kernel.services.load',
input: Json.jString,
output: Json.jString,
};
/** Load a save file. Returns an error, if not successfull. */
export const load: Server.SetRequest<string,string | undefined>= load_internal;
/** Source file positions. */
export type source =
......@@ -101,13 +106,14 @@ export const jLogkindSafe: Json.Safe<logkind> =
/** Natural order for `logkind` */
export const byLogkind: Compare.Order<logkind> = Compare.byEnum(logkind);
/** Registered tags for the above type. */
export const logkindTags: Server.GetRequest<null,tag[]> = {
const logkindTags_internal: Server.GetRequest<null,tag[]> = {
kind: Server.RqKind.GET,
name: 'kernel.services.logkindTags',
input: Json.jNull,
output: Json.jList(jTag),
};
/** Registered tags for the above type. */
export const logkindTags: Server.GetRequest<null,tag[]>= logkindTags_internal;
/** Message event record. */
export interface log {
......@@ -148,20 +154,22 @@ export const byLog: Compare.Order<log> =
source: Compare.defined(bySource),
});
/** Turn logs monitoring on/off */
export const setLogs: Server.SetRequest<boolean,null> = {
const setLogs_internal: Server.SetRequest<boolean,null> = {
kind: Server.RqKind.SET,
name: 'kernel.services.setLogs',
input: Json.jBoolean,
output: Json.jNull,
};
/** Turn logs monitoring on/off */
export const setLogs: Server.SetRequest<boolean,null>= setLogs_internal;
/** Flush the last emitted logs since last call (max 100) */
export const getLogs: Server.GetRequest<null,log[]> = {
const getLogs_internal: Server.GetRequest<null,log[]> = {
kind: Server.RqKind.GET,
name: 'kernel.services.getLogs',
input: Json.jNull,
output: Json.jList(jLog),
};
/** Flush the last emitted logs since last call (max 100) */
export const getLogs: Server.GetRequest<null,log[]>= getLogs_internal;
/* ------------------------------------- */
......@@ -269,15 +269,16 @@ let makeRecursive2 fn fmt js =
let makeDeclaration fmt names d =
let open Pkg in
Format.pp_print_newline fmt () ;
makeDescr fmt d.d_descr ;
let self = d.d_ident in
let jtype = makeJtype ~self ~names in
match d.d_kind with
| D_type js ->
makeDescr fmt d.d_descr ;
Format.fprintf fmt "@[<hv 2>export type %s =@ %a;@]@\n" self.name jtype js
| D_record fjs ->
makeDescr fmt d.d_descr ;
Format.fprintf fmt "export interface %s {@\n" self.name ;
List.iter
(fun { fd_name = fd ; fd_type = js ; fd_descr = doc } ->
......@@ -291,6 +292,7 @@ let makeDeclaration fmt names d =
Format.fprintf fmt "}@\n"
| D_enum tgs ->
makeDescr fmt d.d_descr ;
Format.fprintf fmt "export enum %s {@\n" self.name ;
List.iter
(fun { tg_name = tag ; tg_descr = doc } ->
......@@ -300,6 +302,7 @@ let makeDeclaration fmt names d =
Format.fprintf fmt "}@\n"
| D_signal ->
makeDescr fmt d.d_descr ;
Format.fprintf fmt "export const %s: Server.Signal = {@\n" self.name ;
Format.fprintf fmt " name: '%s',@\n" (Pkg.name_of_ident d.d_ident) ;
Format.fprintf fmt "};@\n"
......@@ -311,28 +314,37 @@ let makeDeclaration fmt names d =
let output = typeOfParam rq.rq_output in
let makeParam fmt js = makeDecoder ~safe:false ~names fmt js in
Format.fprintf fmt
"@[<hv 2>export const %s: Server.%sRequest<@,%a,@,%a@,>@] = {@\n"
"@[<hv 2>const %s_internal: Server.%sRequest<@,%a,@,%a@,>@] = {@\n"
self.name prefix jtype input jtype output ;
Format.fprintf fmt " kind: Server.RqKind.%s,@\n" kind ;
Format.fprintf fmt " name: '%s',@\n" (Pkg.name_of_ident d.d_ident) ;
Format.fprintf fmt " input: %a,@\n" makeParam input ;
Format.fprintf fmt " output: %a,@\n" makeParam output ;
Format.fprintf fmt "};@\n"
Format.fprintf fmt "};@\n" ;
makeDescr fmt d.d_descr ;
Format.fprintf fmt
"@[<hv 2>export const %s: Server.%sRequest<@,%a,@,%a@,>@]\
= %s_internal;@\n"
self.name prefix jtype input jtype output self.name ;
| D_value js ->
Format.fprintf fmt
"@[<hv 2>export const %s: State.Value<@,%a@,>@] = {\n"
"@[<hv 2>const %s_internal: State.Value<@,%a@,>@] = {\n"
self.name jtype js ;
Format.fprintf fmt " name: '%s',@\n" (Pkg.name_of_ident self) ;
Format.fprintf fmt " signal: %a,@\n"
(jcall names) (Pkg.Derived.signal self) ;
Format.fprintf fmt " getter: %a,@\n"
(jcall names) (Pkg.Derived.getter self) ;
Format.fprintf fmt "};@\n"
Format.fprintf fmt "};@\n" ;
makeDescr fmt d.d_descr ;
Format.fprintf fmt
"@[<hv 2>export const %s: State.Value<@,%a@,>@] = %s_internal;\n"
self