|
@@ -27,12 +27,15 @@ namespace GodotTools.Internals
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
|
private static extern Error internal_ParseFile(string filePath, Array<Dictionary> classes, out string errorStr);
|
|
|
|
|
|
- public static void ParseFileOrThrow(string filePath, out IEnumerable<ClassDecl> classes)
|
|
|
+ public static Error ParseFile(string filePath, out IEnumerable<ClassDecl> classes, out string errorStr)
|
|
|
{
|
|
|
var classesArray = new Array<Dictionary>();
|
|
|
- var error = internal_ParseFile(filePath, classesArray, out string errorStr);
|
|
|
+ var error = internal_ParseFile(filePath, classesArray, out errorStr);
|
|
|
if (error != Error.Ok)
|
|
|
- throw new Exception($"Failed to determine namespace and class for script: {filePath}. Parse error: {errorStr ?? error.ToString()}");
|
|
|
+ {
|
|
|
+ classes = null;
|
|
|
+ return error;
|
|
|
+ }
|
|
|
|
|
|
var classesList = new List<ClassDecl>();
|
|
|
|
|
@@ -47,6 +50,8 @@ namespace GodotTools.Internals
|
|
|
}
|
|
|
|
|
|
classes = classesList;
|
|
|
+
|
|
|
+ return Error.Ok;
|
|
|
}
|
|
|
}
|
|
|
}
|