Skip to content

Commit

Permalink
Strip comments and whitespace from assembly export
Browse files Browse the repository at this point in the history
  • Loading branch information
MerlinVR committed Mar 25, 2021
1 parent f2de786 commit 205e3ad
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions Assets/UdonSharp/Editor/UdonSharpEditorUtility.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using UdonSharp;
using UdonSharp.Serialization;
using UnityEditor;
Expand Down Expand Up @@ -42,6 +43,25 @@ public static UdonAssemblyProgramAsset UdonSharpProgramToAssemblyProgram(UdonSha

string programAssembly = UdonSharpEditorCache.Instance.GetUASMStr(udonSharpProgramAsset);

// Strip comments/inline code
StringBuilder asmBuilder = new StringBuilder();

using (StringReader reader = new StringReader(programAssembly))
{
string line = reader.ReadLine();

while (line != null)
{
if (!string.IsNullOrWhiteSpace(line) &&
!line.TrimStart().StartsWith("#", System.StringComparison.Ordinal))
asmBuilder.AppendFormat("{0}\n", line);

line = reader.ReadLine();
}
}

programAssembly = asmBuilder.ToString();

FieldInfo assemblyField = typeof(UdonAssemblyProgramAsset).GetField("udonAssembly", BindingFlags.NonPublic | BindingFlags.Instance);
assemblyField.SetValue(newProgramAsset, programAssembly);

Expand Down

0 comments on commit 205e3ad

Please sign in to comment.