in sqlite/src/blobStore.ts [580:660]
public insert(element: Edge | Vertex): void {
if (element.type === ElementTypes.vertex) {
switch(element.label) {
case VertexLabels.metaData:
this.handleMetaData(element);
break;
case VertexLabels.document:
this.documents.set(element.id, element);
break;
case VertexLabels.range:
this.handleRange(element);
break;
case VertexLabels.resultSet:
this.handleResultSet(element);
break;
case VertexLabels.moniker:
this.handleMoniker(element);
break;
case VertexLabels.hoverResult:
this.handleHover(element);
break;
case VertexLabels.declarationResult:
this.handleDeclarationResult(element);
break;
case VertexLabels.definitionResult:
this.handleDefinitionResult(element);
break;
case VertexLabels.referenceResult:
this.handleReferenceResult(element);
break;
case VertexLabels.foldingRangeResult:
this.handleFoldingRange(element);
break;
case VertexLabels.documentSymbolResult:
this.handleDocumentSymbols(element);
break;
case VertexLabels.diagnosticResult:
this.handleDiagnostics(element);
break;
case VertexLabels.event:
this.handleEvent(element);
break;
}
} else if (element.type === ElementTypes.edge) {
switch(element.label) {
case EdgeLabels.next:
this.handleNextEdge(element);
break;
case EdgeLabels.moniker:
this.handleMonikerEdge(element);
break;
case EdgeLabels.textDocument_foldingRange:
this.handleFoldingRangeEdge(element);
break;
case EdgeLabels.textDocument_documentSymbol:
this.handleDocumentSymbolEdge(element);
break;
case EdgeLabels.textDocument_diagnostic:
this.handleDiagnosticsEdge(element);
break;
case EdgeLabels.textDocument_hover:
this.handleHoverEdge(element);
break;
case EdgeLabels.textDocument_declaration:
this.handleDeclarationEdge(element);
break;
case EdgeLabels.textDocument_definition:
this.handleDefinitionEdge(element);
break;
case EdgeLabels.textDocument_references:
this.handleReferenceEdge(element);
break;
case EdgeLabels.item:
this.handleItemEdge(element);
break;
case EdgeLabels.contains:
this.handleContains(element);
break;
}
}
}