Don't send EOF token to the C# mod
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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,
|
||||||
}),
|
}),
|
||||||
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user