Fixed stack overflow due to improper handling of leaf functions

This commit is contained in:
2025-12-14 03:16:58 -07:00
parent b7fbc499b6
commit 6d5c179eac
7 changed files with 12 additions and 6 deletions

View File

@@ -1,5 +1,9 @@
# Changelog # Changelog
[0.3.2]
- Fixed stack overflow due to incorrect optimization of 'leaf' functions
[0.3.1] [0.3.1]
- Fixed possible `KeyNotFoundException` in C# code due to invalid - Fixed possible `KeyNotFoundException` in C# code due to invalid

View File

@@ -2,7 +2,7 @@
<ModMetadata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ModMetadata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Name>Slang</Name> <Name>Slang</Name>
<Author>JoeDiertay</Author> <Author>JoeDiertay</Author>
<Version>0.3.1</Version> <Version>0.3.2</Version>
<Description> <Description>
[h1]Slang: High-Level Programming for Stationeers[/h1] [h1]Slang: High-Level Programming for Stationeers[/h1]

View File

@@ -41,7 +41,7 @@ namespace Slang
{ {
public const string PluginGuid = "com.biddydev.slang"; public const string PluginGuid = "com.biddydev.slang";
public const string PluginName = "Slang"; public const string PluginName = "Slang";
public const string PluginVersion = "0.3.1"; public const string PluginVersion = "0.3.2";
public static Mod MOD = new Mod(PluginName, PluginVersion); public static Mod MOD = new Mod(PluginName, PluginVersion);

View File

@@ -5,7 +5,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<AssemblyName>StationeersSlang</AssemblyName> <AssemblyName>StationeersSlang</AssemblyName>
<Description>Slang Compiler Bridge</Description> <Description>Slang Compiler Bridge</Description>
<Version>0.3.1</Version> <Version>0.3.2</Version>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
</PropertyGroup> </PropertyGroup>

View File

@@ -930,7 +930,7 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
[[package]] [[package]]
name = "slang" name = "slang"
version = "0.3.1" version = "0.3.2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "slang" name = "slang"
version = "0.3.1" version = "0.3.2"
edition = "2021" edition = "2021"
[workspace] [workspace]

View File

@@ -174,7 +174,9 @@ fn optimize_leaf_functions<'a>(
continue; // SKIP (Remove) continue; // SKIP (Remove)
} }
if let Instruction::LabelDef(l) = &node.instruction { if let Instruction::LabelDef(l) = &node.instruction
&& !l.starts_with("__internal_L")
{
processing_function = Some(l.to_string()); processing_function = Some(l.to_string());
} }