Skip to content

Commit ed278fc

Browse files
committed
Refactor code
1 parent 060afd5 commit ed278fc

File tree

2 files changed

+257
-355
lines changed

2 files changed

+257
-355
lines changed

src/Generator/Generators/CSharp/CSharpLibrarySymbolTable.cs

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,39 +26,24 @@ public string Generate()
2626
{
2727
using (WriteBlock($"internal class {@class}"))
2828
{
29-
GenerateStaticVariables();
29+
foreach (var (_, variableIdentifier) in symbols)
30+
WriteLine($"public static IntPtr {variableIdentifier} {{ get; }}");
3031

3132
using (WriteBlock($"static {@class}()"))
32-
GenerateStaticConstructorBody();
33+
{
34+
WriteLine($"var path = \"{path}\";");
35+
WriteLine("var image = CppSharp.SymbolResolver.LoadImage(ref path);");
36+
WriteLine("if (image == IntPtr.Zero) throw new global::System.DllNotFoundException(path);");
37+
38+
foreach (var (mangled, variableIdentifier) in symbols)
39+
WriteLine($"{variableIdentifier} = CppSharp.SymbolResolver.ResolveSymbol(image, \"{mangled}\");");
40+
}
3341
}
3442
}
3543

3644
return ToString();
3745
}
3846

39-
public void GenerateStaticVariables()
40-
{
41-
foreach (var symbol in symbols)
42-
{
43-
var variableIdentifier = symbol.Value;
44-
WriteLine($"public static IntPtr {variableIdentifier} {{ get; }}");
45-
}
46-
}
47-
48-
public void GenerateStaticConstructorBody()
49-
{
50-
WriteLine($"var path = \"{path}\";");
51-
WriteLine("var image = CppSharp.SymbolResolver.LoadImage(ref path);");
52-
WriteLine("if (image == IntPtr.Zero) throw new global::System.DllNotFoundException(path);");
53-
54-
foreach (var symbol in symbols)
55-
{
56-
var mangled = symbol.Key;
57-
var variableIdentifier = symbol.Value;
58-
WriteLine($"{variableIdentifier} = CppSharp.SymbolResolver.ResolveSymbol(image, \"{mangled}\");");
59-
}
60-
}
61-
6247
public string GetFullVariablePath(string mangled)
6348
{
6449
return $"global::{@namespace}.{@class}." + GenerateUniqueVariableIdentifier(mangled);

0 commit comments

Comments
 (0)