From 77107ef95e27a7ad5ccb9e1a901ccde1f9d01785 Mon Sep 17 00:00:00 2001 From: sofia Date: Sun, 17 Aug 2025 17:19:03 +0300 Subject: [PATCH] Fix a bunch of warnings --- reid-llvm-lib/src/builder.rs | 2 -- reid-lsp/src/analysis.rs | 32 +++++--------------------------- reid-lsp/src/main.rs | 34 ++++++++++------------------------ 3 files changed, 15 insertions(+), 53 deletions(-) diff --git a/reid-llvm-lib/src/builder.rs b/reid-llvm-lib/src/builder.rs index e37bc8b..fd89f89 100644 --- a/reid-llvm-lib/src/builder.rs +++ b/reid-llvm-lib/src/builder.rs @@ -3,8 +3,6 @@ use std::{cell::RefCell, rc::Rc}; -use llvm_sys::core::LLVMBuildIsNull; - use crate::{ Block, BlockData, CompileResult, ConstValueKind, CustomTypeKind, ErrorKind, FunctionData, Instr, InstructionData, ModuleData, NamedStruct, TerminatorKind, Type, TypeCategory, TypeData, diff --git a/reid-lsp/src/analysis.rs b/reid-lsp/src/analysis.rs index 2d74b6d..40756b0 100644 --- a/reid-lsp/src/analysis.rs +++ b/reid-lsp/src/analysis.rs @@ -2,16 +2,15 @@ use std::{collections::HashMap, hash::Hash, path::PathBuf}; use reid::{ ast::{ - ReturnType, lexer::{FullToken, Token}, token_stream::TokenRange, }, - codegen::intrinsics::{self, get_intrinsic_assoc_functions}, + codegen::intrinsics::get_intrinsic_assoc_functions, compile_module, error_raporting::{ErrorModules, ReidError}, mir::{ - self, Context, CustomTypeKey, FunctionCall, FunctionDefinitionKind, FunctionParam, IfExpression, Metadata, - SourceModuleId, StructType, TypeKind, WhileStatement, typecheck::typerefs::TypeRefs, + self, Context, CustomTypeKey, FunctionCall, FunctionParam, IfExpression, Metadata, SourceModuleId, StructType, + TypeKind, WhileStatement, typecheck::typerefs::TypeRefs, }, perform_all_passes, }; @@ -200,26 +199,6 @@ impl AnalysisState { } } - pub fn set_documentation(&mut self, token_idx: usize, documentation: Option) { - if let Some(documentation) = documentation { - if let Some(token) = self.map.get_mut(&token_idx) { - token.hover.documentation = Some(documentation); - } else { - self.map.insert( - token_idx, - SemanticToken { - hover: Hover { - documentation: Some(documentation), - kind: None, - }, - autocomplete: Vec::new(), - symbol: Default::default(), - }, - ); - } - } - } - pub fn set_symbol(&mut self, idx: usize, symbol: SymbolId) { self.symbol_to_token.insert(symbol, idx); if let Some(token) = self.map.get_mut(&idx) { @@ -717,7 +696,7 @@ pub fn analyze_context( let mut inner_scope = scope.inner(); - analyze_function_parameters(context, module, function, &mut inner_scope); + analyze_function_parameters(module, function, &mut inner_scope); match &function.kind { mir::FunctionDefinitionKind::Local(block, _) => analyze_block(context, module, block, &mut inner_scope), @@ -779,7 +758,7 @@ pub fn analyze_context( let mut inner_scope = scope.inner(); - analyze_function_parameters(context, module, function, &mut inner_scope); + analyze_function_parameters(module, function, &mut inner_scope); match &function.kind { mir::FunctionDefinitionKind::Local(block, _) => analyze_block(context, module, block, &mut inner_scope), @@ -872,7 +851,6 @@ pub fn analyze_context( } pub fn analyze_function_parameters( - context: &mir::Context, module: &mir::Module, function: &mir::FunctionDefinition, scope: &mut AnalysisScope, diff --git a/reid-lsp/src/main.rs b/reid-lsp/src/main.rs index 039b623..6c18283 100644 --- a/reid-lsp/src/main.rs +++ b/reid-lsp/src/main.rs @@ -9,15 +9,15 @@ use reid::parse_module; use serde::{Deserialize, Serialize}; use tokio::sync::Mutex; use tower_lsp::lsp_types::{ - self, CompletionItem, CompletionItemKind, CompletionOptions, CompletionParams, CompletionResponse, Diagnostic, - DiagnosticSeverity, DidChangeTextDocumentParams, DidOpenTextDocumentParams, DidSaveTextDocumentParams, - DocumentFilter, GotoDefinitionParams, GotoDefinitionResponse, Hover, HoverContents, HoverParams, - HoverProviderCapability, InitializeParams, InitializeResult, InitializedParams, Location, MarkedString, - MarkupContent, MarkupKind, MessageType, OneOf, Range, ReferenceParams, RenameParams, SemanticToken, - SemanticTokensLegend, SemanticTokensOptions, SemanticTokensParams, SemanticTokensResult, - SemanticTokensServerCapabilities, ServerCapabilities, TextDocumentItem, TextDocumentRegistrationOptions, - TextDocumentSyncCapability, TextDocumentSyncKind, TextDocumentSyncOptions, TextDocumentSyncSaveOptions, TextEdit, - Url, WorkspaceEdit, WorkspaceFoldersServerCapabilities, WorkspaceServerCapabilities, + self, CompletionItem, CompletionOptions, CompletionParams, CompletionResponse, Diagnostic, DiagnosticSeverity, + DidChangeTextDocumentParams, DidOpenTextDocumentParams, DidSaveTextDocumentParams, DocumentFilter, + GotoDefinitionParams, GotoDefinitionResponse, Hover, HoverContents, HoverParams, HoverProviderCapability, + InitializeParams, InitializeResult, InitializedParams, Location, MarkedString, MarkupContent, MarkupKind, + MessageType, OneOf, Range, ReferenceParams, RenameParams, SemanticToken, SemanticTokensLegend, + SemanticTokensOptions, SemanticTokensParams, SemanticTokensResult, SemanticTokensServerCapabilities, + ServerCapabilities, TextDocumentItem, TextDocumentRegistrationOptions, TextDocumentSyncCapability, + TextDocumentSyncKind, TextDocumentSyncOptions, TextDocumentSyncSaveOptions, TextEdit, Url, WorkspaceEdit, + WorkspaceFoldersServerCapabilities, WorkspaceServerCapabilities, }; use tower_lsp::{Client, LanguageServer, LspService, Server, jsonrpc}; @@ -65,7 +65,7 @@ impl LanguageServer for Backend { completion_item: Some(lsp_types::CompletionOptionsCompletionItem { label_details_support: Some(true), }), - resolve_provider: Some(true), + resolve_provider: Some(false), work_done_progress_options: lsp_types::WorkDoneProgressOptions { work_done_progress: Some(true), }, @@ -172,20 +172,6 @@ impl LanguageServer for Backend { Ok(Some(CompletionResponse::Array(list))) } - async fn completion_resolve(&self, params: CompletionItem) -> jsonrpc::Result { - let data: Option = if let Some(data) = ¶ms.data { - serde_json::from_value(data.clone()).ok() - } else { - None - }; - if let Some(data) = data { - let analysis = self.analysis.get(&data.path).unwrap(); - let token = analysis.tokens.get(data.token_idx).unwrap(); - if let Some(token_analysis) = analysis.state.map.get(&data.token_idx) {} - } - Ok(params) - } - async fn hover(&self, params: HoverParams) -> jsonrpc::Result> { let path = PathBuf::from(params.text_document_position_params.text_document.uri.path()); let analysis = self.analysis.get(&path);