terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
WindowsConsoleDriver.cs
Go to the documentation of this file.
1using System;
3
4namespace System
5{
6 // Token: 0x020001AB RID: 427
8 {
9 // Token: 0x0600100B RID: 4107 RVA: 0x00022344 File Offset: 0x00020544
18
19 // Token: 0x0600100C RID: 4108 RVA: 0x0002236C File Offset: 0x0002056C
20 public void Clear()
21 {
26 }
27
28 // Token: 0x0600100D RID: 4109 RVA: 0x00022398 File Offset: 0x00020598
29 public string ReadLine()
30 {
31 /*
32An exception occurred when decompiling this method (0600100D)
33
34ICSharpCode.Decompiler.DecompilerException: Error decompiling System.String System.WindowsConsoleDriver::ReadLine()
35
36 ---> System.Exception: Basic block has to end with unconditional control flow.
37{
38 Block_0:
39 stloc:int64(var_0_01, ldc.i4:int64(0))
40 stloc:ConsoleKeyInfo(var_1_09, call:ConsoleKeyInfo(WindowsConsoleDriver::ReadKey, ldloc:WindowsConsoleDriver(this), ldloc:int64[exp:bool](var_0_01)))
41}
42
43 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
44 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
45 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
46 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
47 --- End of inner exception stack trace ---
48 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
49 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
50*/;
51 }
52
53 // Token: 0x0600100E RID: 4110 RVA: 0x000223B0 File Offset: 0x000205B0
55 {
56 /*
57An exception occurred when decompiling this method (0600100E)
58
59ICSharpCode.Decompiler.DecompilerException: Error decompiling System.ConsoleKeyInfo System.WindowsConsoleDriver::ReadKey(System.Boolean)
60
61 ---> System.Exception: Basic block has to end with unconditional control flow.
62{
63 Block_0:
64 stloc:native int(var_0_06, ldfld:native int(WindowsConsoleDriver::inputHandle, ldloc:WindowsConsoleDriver(this)))
65 stloc:native int(var_3_0F, ldfld:native int(WindowsConsoleDriver::inputHandle, ldloc:WindowsConsoleDriver(this)))
66 stloc:string(var_5_1D, call:string(int32::ToString, call:int32[exp:int32&](Marshal::GetLastWin32Error)))
67 stloc:string(var_6_2B, call:string(string::Concat, ldstr:string("Error in ReadConsoleInput "), ldloc:string(var_5_1D)))
68}
69
70 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
71 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
72 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
73 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
74 --- End of inner exception stack trace ---
75 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
76 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
77*/;
78 }
79
80 // Token: 0x0600100F RID: 4111 RVA: 0x000223EC File Offset: 0x000205EC
81 private static bool IsModifierKey(short virtualKeyCode)
82 {
83 }
84
85 // Token: 0x06001010 RID: 4112
86 private static extern IntPtr GetStdHandle(Handles handle);
87
88 // Token: 0x06001011 RID: 4113
89 private static extern bool GetConsoleScreenBufferInfo(IntPtr handle, [Out] ConsoleScreenBufferInfo info);
90
91 // Token: 0x06001012 RID: 4114
92 private static extern bool FillConsoleOutputCharacter(IntPtr handle, char c, int size, Coord coord, [Out] int written);
93
94 // Token: 0x06001013 RID: 4115
95 private static extern bool FillConsoleOutputAttribute(IntPtr handle, short c, int size, Coord coord, [Out] int written);
96
97 // Token: 0x06001014 RID: 4116
98 private static extern bool SetConsoleCursorPosition(IntPtr handle, Coord coord);
99
100 // Token: 0x06001015 RID: 4117
101 private static extern bool ReadConsoleInput(IntPtr handle, [Out] InputRecord record, int length, [Out] int nread);
102
103 // Token: 0x040008C4 RID: 2244
105
106 // Token: 0x040008C5 RID: 2245
108
109 // Token: 0x040008C6 RID: 2246
110 private short defaultAttribute;
111 }
112}
class f__AnonymousType0<< Count > j__TPar
static bool ReadConsoleInput(IntPtr handle, [Out] InputRecord record, int length, [Out] int nread)
static bool FillConsoleOutputAttribute(IntPtr handle, short c, int size, Coord coord, [Out] int written)
static bool SetConsoleCursorPosition(IntPtr handle, Coord coord)
ConsoleKeyInfo ReadKey(bool intercept)
static bool FillConsoleOutputCharacter(IntPtr handle, char c, int size, Coord coord, [Out] int written)
static bool IsModifierKey(short virtualKeyCode)
static bool GetConsoleScreenBufferInfo(IntPtr handle, [Out] ConsoleScreenBufferInfo info)
static IntPtr GetStdHandle(Handles handle)
Handles
Definition Handles.cs:7