Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/Futures/Future.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

401 lines
25 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace BestHTTP.Futures
{
// Token: 0x0200206C RID: 8300
[Token(Token = "0x200206C")]
public class Future<T> : IFuture<T>
{
// Token: 0x17002120 RID: 8480
// (get) Token: 0x0600D040 RID: 53312 RVA: 0x002F5394 File Offset: 0x002F3594
[Token(Token = "0x17002120")]
public FutureState state
{
[Token(Token = "0x600D040")]
[Address(RVA = "0xB40AD0", Offset = "0xB3FAD0", VA = "0x180B40AD0", Slot = "4")]
get
{
/*
An exception occurred when decompiling this method (0600D040)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.Futures.FutureState BestHTTP.Futures.Future`1::get_state()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:int32(var_0_06, ldfld:FutureState[exp:int32](Future`1::_state, ldloc:Future`1(this)))
}
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
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
}
// Token: 0x17002121 RID: 8481
// (get) Token: 0x0600D041 RID: 53313 RVA: 0x002F53A8 File Offset: 0x002F35A8
[Token(Token = "0x17002121")]
public T value
{
[Token(Token = "0x600D041")]
[Address(RVA = "0x2DA9DA0", Offset = "0x2DA8DA0", VA = "0x182DA9DA0", Slot = "5")]
get
{
/*
An exception occurred when decompiling this method (0600D041)
ICSharpCode.Decompiler.DecompilerException: Error decompiling T BestHTTP.Futures.Future`1::get_value()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:InvalidOperationException(var_0_23, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("value is not available unless state is Success or Processing.")))
}
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
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
}
// Token: 0x17002122 RID: 8482
// (get) Token: 0x0600D042 RID: 53314 RVA: 0x002F53D8 File Offset: 0x002F35D8
[Token(Token = "0x17002122")]
public Exception error
{
[Token(Token = "0x600D042")]
[Address(RVA = "0x2DA9D20", Offset = "0x2DA8D20", VA = "0x182DA9D20", Slot = "6")]
get
{
/*
An exception occurred when decompiling this method (0600D042)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Exception BestHTTP.Futures.Future`1::get_error()
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_09:
stloc:InvalidOperationException(var_0_13, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("error is not available unless state is Error.")))
}
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
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
}
// Token: 0x0600D043 RID: 53315 RVA: 0x002F53F8 File Offset: 0x002F35F8
[Token(Token = "0x600D043")]
[Address(RVA = "0x2DA9A00", Offset = "0x2DA8A00", VA = "0x182DA9A00")]
public Future()
{
List<FutureErrorCallback> list = new List();
base..ctor();
this._state = (FutureState)((ulong)0L);
}
// Token: 0x0600D044 RID: 53316 RVA: 0x002F541C File Offset: 0x002F361C
[Token(Token = "0x600D044")]
[Address(RVA = "0x2DA9390", Offset = "0x2DA8390", VA = "0x182DA9390", Slot = "7")]
public IFuture<T> OnItem(FutureValueCallback<T> callback)
{
bool flag;
if (this._state >= FutureState.Success || !flag)
{
}
throw new NullReferenceException();
}
// Token: 0x0600D045 RID: 53317 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D045")]
[Address(RVA = "0x2DA9420", Offset = "0x2DA8420", VA = "0x182DA9420", Slot = "8")]
public IFuture<T> OnSuccess(FutureValueCallback<T> callback)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D046 RID: 53318 RVA: 0x002F543C File Offset: 0x002F363C
[Token(Token = "0x600D046")]
[Address(RVA = "0x2DA9160", Offset = "0x2DA8160", VA = "0x182DA9160", Slot = "9")]
public IFuture<T> OnError(FutureErrorCallback callback)
{
bool flag;
if (this._state == FutureState.Error || (this._state != FutureState.Success && !flag))
{
Exception error = this.error;
callback(error);
}
throw new NullReferenceException();
}
// Token: 0x0600D047 RID: 53319 RVA: 0x002F5474 File Offset: 0x002F3674
[Token(Token = "0x600D047")]
[Address(RVA = "0x2DA8FE0", Offset = "0x2DA7FE0", VA = "0x182DA8FE0", Slot = "10")]
public IFuture<T> OnComplete(FutureCallback<T> callback)
{
bool flag;
if (this._state == FutureState.Success || this._state == FutureState.Error || !flag)
{
callback.Invoke(this);
}
throw new NullReferenceException();
}
// Token: 0x0600D048 RID: 53320 RVA: 0x002F54A4 File Offset: 0x002F36A4
[Token(Token = "0x600D048")]
[Address(RVA = "0x2DA95E0", Offset = "0x2DA85E0", VA = "0x182DA95E0")]
public IFuture<T> Process(Func<T> func)
{
/*
An exception occurred when decompiling this method (0600D048)
ICSharpCode.Decompiler.DecompilerException: Error decompiling BestHTTP.Futures.IFuture`1<T> BestHTTP.Futures.Future`1::Process(System.Func`1<T>)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_19:
stloc:InvalidOperationException(var_3_23, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot process a future that isn't in the Pending state.")))
}
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
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
// Token: 0x0600D049 RID: 53321 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D049")]
[Address(RVA = "0x2DA97A0", Offset = "0x2DA87A0", VA = "0x182DA97A0")]
private void ThreadFunc(object param)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D04A RID: 53322 RVA: 0x002F54D4 File Offset: 0x002F36D4
[Token(Token = "0x600D04A")]
[Address(RVA = "0x2DA7E00", Offset = "0x2DA6E00", VA = "0x182DA7E00")]
public void Assign(T value)
{
/*
An exception occurred when decompiling this method (0600D04A)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Futures.Future`1::Assign(T)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:InvalidOperationException(var_1_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot assign a value to a future that isn't in the Pending or Processing state.")))
}
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
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
// Token: 0x0600D04B RID: 53323 RVA: 0x002F5508 File Offset: 0x002F3708
[Token(Token = "0x600D04B")]
[Address(RVA = "0x2DA7F80", Offset = "0x2DA6F80", VA = "0x182DA7F80")]
public void BeginProcess([Optional] T initialItem)
{
this._state = (FutureState)((ulong)1L);
this._value = initialItem;
}
// Token: 0x0600D04C RID: 53324 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D04C")]
[Address(RVA = "0x2DA7BE0", Offset = "0x2DA6BE0", VA = "0x182DA7BE0")]
public void AssignItem(T value)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D04D RID: 53325 RVA: 0x002F5528 File Offset: 0x002F3728
[Token(Token = "0x600D04D")]
[Address(RVA = "0x2DA82C0", Offset = "0x2DA72C0", VA = "0x182DA82C0")]
public void Fail(Exception error)
{
/*
An exception occurred when decompiling this method (0600D04D)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BestHTTP.Futures.Future`1::Fail(System.Exception)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1A:
stloc:InvalidOperationException(var_1_24, newobj:InvalidOperationException(InvalidOperationException::.ctor, ldstr:string("Cannot fail future that isn't in the Pending or Processing state.")))
}
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
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
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
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
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
--- End of inner exception stack trace ---
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
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 1663
*/;
}
// Token: 0x0600D04E RID: 53326 RVA: 0x002F555C File Offset: 0x002F375C
[Token(Token = "0x600D04E")]
[Address(RVA = "0x2DA7920", Offset = "0x2DA6920", VA = "0x182DA7920")]
private void AssignImpl(T value)
{
this._value = value;
this._state = (FutureState)((ulong)2L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600D04F RID: 53327 RVA: 0x002F5580 File Offset: 0x002F3780
[Token(Token = "0x600D04F")]
[Address(RVA = "0x2DA8160", Offset = "0x2DA7160", VA = "0x182DA8160")]
private void FailImpl(Exception error)
{
int num = 0;
this._value = num;
this._state = (FutureState)((ulong)3L);
FutureState state = ((IFuture)this).state;
}
// Token: 0x0600D050 RID: 53328 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600D050")]
[Address(RVA = "0x2DA8DC0", Offset = "0x2DA7DC0", VA = "0x182DA8DC0")]
private void FlushSuccessCallbacks()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600D051 RID: 53329 RVA: 0x002F55A8 File Offset: 0x002F37A8
[Token(Token = "0x600D051")]
[Address(RVA = "0x2DA89B0", Offset = "0x2DA79B0", VA = "0x182DA89B0")]
private void FlushErrorCallbacks()
{
int num;
int num2;
do
{
num = 0;
bool flag;
if (flag)
{
Exception error = this.error;
}
num2 = 0;
num2 += num2;
num2++;
}
while (num != 0);
num2 += num2;
num2 += 19;
num2 += typeof(List<FutureErrorCallback>.Enumerator).TypeHandle;
}
// Token: 0x0600D052 RID: 53330 RVA: 0x002F55FC File Offset: 0x002F37FC
[Token(Token = "0x600D052")]
[Address(RVA = "0x2DA8380", Offset = "0x2DA7380", VA = "0x182DA8380")]
private void FlushComplationCallbacks()
{
int num;
int num2;
do
{
num = 0;
bool flag;
if (flag)
{
}
num2 = 0;
num2 += num2;
num2++;
}
while (num != 0);
num2 += num2;
num2 += 19;
num2 += typeof(List<FutureCallback<T>>.Enumerator).TypeHandle;
this.ClearCallbacks();
}
// Token: 0x0600D053 RID: 53331 RVA: 0x002F5640 File Offset: 0x002F3840
[Token(Token = "0x600D053")]
[Address(RVA = "0x2DA80A0", Offset = "0x2DA70A0", VA = "0x182DA80A0")]
private void ClearCallbacks()
{
}
// Token: 0x04008401 RID: 33793
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008401")]
private FutureState _state;
// Token: 0x04008402 RID: 33794
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008402")]
private T _value;
// Token: 0x04008403 RID: 33795
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008403")]
private Exception _error;
// Token: 0x04008404 RID: 33796
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008404")]
private Func<T> _processFunc;
// Token: 0x04008405 RID: 33797
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008405")]
private readonly List<FutureValueCallback<T>> _itemCallbacks;
// Token: 0x04008406 RID: 33798
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008406")]
private readonly List<FutureValueCallback<T>> _successCallbacks;
// Token: 0x04008407 RID: 33799
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008407")]
private readonly List<FutureErrorCallback> _errorCallbacks;
// Token: 0x04008408 RID: 33800
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4008408")]
private readonly List<FutureCallback<T>> _complationCallbacks;
}
}