Don't send EOF token to the C# mod

This commit is contained in:
2025-11-28 17:34:38 -07:00
parent 9a9fa9517f
commit 804bf11d02
4 changed files with 4 additions and 10 deletions

View File

@@ -42,11 +42,8 @@ namespace Slang
*/ */
public static Line AsList(this Vec_FfiToken_t vec) public static Line AsList(this Vec_FfiToken_t vec)
{ {
L.Info("Converting output into a C# List.");
var list = new Line(); var list = new Line();
L.Info("Created new `Line`.");
list.Capacity = (int)vec.len; list.Capacity = (int)vec.len;
L.Info("Changed `Capacity` to be returned Vec's len");
var currentPtr = vec.ptr; var currentPtr = vec.ptr;

View File

@@ -12,17 +12,13 @@ namespace Slang
return new Line(); return new Line();
} }
L.Info("Input string not empty");
fixed (char* ptrString = source) fixed (char* ptrString = source)
{ {
L.Info("In `fixed` block.");
var input = new slice_ref_uint16_t var input = new slice_ref_uint16_t
{ {
ptr = (ushort*)ptrString, ptr = (ushort*)ptrString,
len = (UIntPtr)source.Length, len = (UIntPtr)source.Length,
}; };
L.Info("Calling tokenize_line");
return Ffi.tokenize_line(input).AsList(); return Ffi.tokenize_line(input).AsList();
} }
} }

View File

@@ -19,7 +19,7 @@ namespace Slang
return; return;
} }
L.Info("Detected Slang source, compiling..."); L.Debug("Detected Slang source, compiling...");
// Compile the Slang source into IC10 // Compile the Slang source into IC10
string compiled = SlangPlugin.Compile(result); string compiled = SlangPlugin.Compile(result);

View File

@@ -2,7 +2,7 @@ use compiler::Compiler;
use parser::Parser; use parser::Parser;
use safer_ffi::prelude::*; use safer_ffi::prelude::*;
use std::io::BufWriter; use std::io::BufWriter;
use tokenizer::{Error as TokenizerError, Tokenizer}; use tokenizer::{token::TokenType, Error as TokenizerError, Tokenizer};
#[derive_ReprC] #[derive_ReprC]
#[repr(C)] #[repr(C)]
@@ -63,13 +63,14 @@ pub fn tokenize_line(input: safer_ffi::slice::Ref<'_, u16>) -> safer_ffi::Vec<Ff
}); });
} }
Err(_) => return safer_ffi::Vec::EMPTY, Err(_) => return safer_ffi::Vec::EMPTY,
Ok(token) => tokens.push(FfiToken { Ok(token) if !matches!(token.token_type, TokenType::EOF) => tokens.push(FfiToken {
text: token.token_type.to_string().into(), text: token.token_type.to_string().into(),
tooltip: "".into(), tooltip: "".into(),
error: "".into(), error: "".into(),
status: "".into(), status: "".into(),
column: token.column as i32, column: token.column as i32,
}), }),
_ => {}
} }
} }