Skip to content

Commit eeb9842

Browse files
authored
Add extension preprocessor directives to compiler (#13)
1 parent 3a86f11 commit eeb9842

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

src/CompilerService.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,27 @@ internal bool Precheck()
132132
}
133133
}
134134

135+
foreach (Extension extension in Interface.Oxide.GetAllExtensions())
136+
{
137+
try
138+
{
139+
string prefix = $"{extension.Name.ToUpper()}_EXT";
140+
foreach (string directive in extension.GetPreprocessorDirectives())
141+
{
142+
if (!extension.IsGameExtension && !extension.IsCoreExtension && !directive.StartsWith(prefix))
143+
{
144+
Interface.Oxide.LogWarning("Missing extension preprocessor prefix '{0}' for directive '{1}' (by extension '{2}')", prefix, directive, extension.Name);
145+
}
146+
147+
preprocessorList.Add(EscapeSymbolName(directive));
148+
}
149+
}
150+
catch (Exception ex)
151+
{
152+
Interface.Oxide.LogException($"An error occurred processing preprocessor directives for extension `{extension.Name}`", ex);
153+
}
154+
}
155+
135156
#if DEBUG
136157
preprocessorList.Add("DEBUG");
137158
#endif

0 commit comments

Comments
 (0)