|
|
|
@@ -0,0 +1,400 @@
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
using Cpp2IlInjected;
|
|
|
|
|
|
|
|
|
|
namespace BestHTTP.Futures
|
|
|
|
|
{
|
|
|
|
|
// Token: 0x02001F8C RID: 8076
|
|
|
|
|
[Token(Token = "0x2001F8C")]
|
|
|
|
|
public class Future<T> : IFuture<T>
|
|
|
|
|
{
|
|
|
|
|
// Token: 0x17002083 RID: 8323
|
|
|
|
|
// (get) Token: 0x0600CC72 RID: 52338 RVA: 0x002ECC3C File Offset: 0x002EAE3C
|
|
|
|
|
[Token(Token = "0x17002083")]
|
|
|
|
|
public FutureState state
|
|
|
|
|
{
|
|
|
|
|
[Token(Token = "0x600CC72")]
|
|
|
|
|
[Address(RVA = "0x1D99560", Offset = "0x1D98360", VA = "0x181D99560", Slot = "4")]
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC72)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x17002084 RID: 8324
|
|
|
|
|
// (get) Token: 0x0600CC73 RID: 52339 RVA: 0x002ECC50 File Offset: 0x002EAE50
|
|
|
|
|
[Token(Token = "0x17002084")]
|
|
|
|
|
public T value
|
|
|
|
|
{
|
|
|
|
|
[Token(Token = "0x600CC73")]
|
|
|
|
|
[Address(RVA = "0x2A35D20", Offset = "0x2A34B20", VA = "0x182A35D20", Slot = "5")]
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC73)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x17002085 RID: 8325
|
|
|
|
|
// (get) Token: 0x0600CC74 RID: 52340 RVA: 0x002ECC80 File Offset: 0x002EAE80
|
|
|
|
|
[Token(Token = "0x17002085")]
|
|
|
|
|
public Exception error
|
|
|
|
|
{
|
|
|
|
|
[Token(Token = "0x600CC74")]
|
|
|
|
|
[Address(RVA = "0x2A35CA0", Offset = "0x2A34AA0", VA = "0x182A35CA0", Slot = "6")]
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC74)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC75 RID: 52341 RVA: 0x002ECCA0 File Offset: 0x002EAEA0
|
|
|
|
|
[Token(Token = "0x600CC75")]
|
|
|
|
|
[Address(RVA = "0x2A35980", Offset = "0x2A34780", VA = "0x182A35980")]
|
|
|
|
|
public Future()
|
|
|
|
|
{
|
|
|
|
|
List<FutureErrorCallback> list = new List();
|
|
|
|
|
base..ctor();
|
|
|
|
|
this._state = (FutureState)((ulong)0L);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC76 RID: 52342 RVA: 0x002ECCC4 File Offset: 0x002EAEC4
|
|
|
|
|
[Token(Token = "0x600CC76")]
|
|
|
|
|
[Address(RVA = "0x2A35310", Offset = "0x2A34110", VA = "0x182A35310", Slot = "7")]
|
|
|
|
|
public IFuture<T> OnItem(FutureValueCallback<T> callback)
|
|
|
|
|
{
|
|
|
|
|
bool flag;
|
|
|
|
|
if (this._state >= FutureState.Success || !flag)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
throw new NullReferenceException();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC77 RID: 52343 RVA: 0x0000220F File Offset: 0x0000040F
|
|
|
|
|
[Token(Token = "0x600CC77")]
|
|
|
|
|
[Address(RVA = "0x2A353A0", Offset = "0x2A341A0", VA = "0x182A353A0", Slot = "8")]
|
|
|
|
|
public IFuture<T> OnSuccess(FutureValueCallback<T> callback)
|
|
|
|
|
{
|
|
|
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC78 RID: 52344 RVA: 0x002ECCE4 File Offset: 0x002EAEE4
|
|
|
|
|
[Token(Token = "0x600CC78")]
|
|
|
|
|
[Address(RVA = "0x2A350E0", Offset = "0x2A33EE0", VA = "0x182A350E0", 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: 0x0600CC79 RID: 52345 RVA: 0x002ECD1C File Offset: 0x002EAF1C
|
|
|
|
|
[Token(Token = "0x600CC79")]
|
|
|
|
|
[Address(RVA = "0x2A34F60", Offset = "0x2A33D60", VA = "0x182A34F60", 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: 0x0600CC7A RID: 52346 RVA: 0x002ECD4C File Offset: 0x002EAF4C
|
|
|
|
|
[Token(Token = "0x600CC7A")]
|
|
|
|
|
[Address(RVA = "0x2A35560", Offset = "0x2A34360", VA = "0x182A35560")]
|
|
|
|
|
public IFuture<T> Process(Func<T> func)
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC7A)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC7B RID: 52347 RVA: 0x0000220F File Offset: 0x0000040F
|
|
|
|
|
[Token(Token = "0x600CC7B")]
|
|
|
|
|
[Address(RVA = "0x2A35720", Offset = "0x2A34520", VA = "0x182A35720")]
|
|
|
|
|
private void ThreadFunc(object param)
|
|
|
|
|
{
|
|
|
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC7C RID: 52348 RVA: 0x002ECD7C File Offset: 0x002EAF7C
|
|
|
|
|
[Token(Token = "0x600CC7C")]
|
|
|
|
|
[Address(RVA = "0x2A33D80", Offset = "0x2A32B80", VA = "0x182A33D80")]
|
|
|
|
|
public void Assign(T value)
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC7C)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC7D RID: 52349 RVA: 0x002ECDB0 File Offset: 0x002EAFB0
|
|
|
|
|
[Token(Token = "0x600CC7D")]
|
|
|
|
|
[Address(RVA = "0x2A33F00", Offset = "0x2A32D00", VA = "0x182A33F00")]
|
|
|
|
|
public void BeginProcess([Optional] T initialItem)
|
|
|
|
|
{
|
|
|
|
|
this._state = (FutureState)((ulong)1L);
|
|
|
|
|
this._value = initialItem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC7E RID: 52350 RVA: 0x0000220F File Offset: 0x0000040F
|
|
|
|
|
[Token(Token = "0x600CC7E")]
|
|
|
|
|
[Address(RVA = "0x2A33B60", Offset = "0x2A32960", VA = "0x182A33B60")]
|
|
|
|
|
public void AssignItem(T value)
|
|
|
|
|
{
|
|
|
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC7F RID: 52351 RVA: 0x002ECDD0 File Offset: 0x002EAFD0
|
|
|
|
|
[Token(Token = "0x600CC7F")]
|
|
|
|
|
[Address(RVA = "0x2A34240", Offset = "0x2A33040", VA = "0x182A34240")]
|
|
|
|
|
public void Fail(Exception error)
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
An exception occurred when decompiling this method (0600CC7F)
|
|
|
|
|
|
|
|
|
|
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 1660
|
|
|
|
|
*/;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC80 RID: 52352 RVA: 0x002ECE04 File Offset: 0x002EB004
|
|
|
|
|
[Token(Token = "0x600CC80")]
|
|
|
|
|
[Address(RVA = "0x2A338A0", Offset = "0x2A326A0", VA = "0x182A338A0")]
|
|
|
|
|
private void AssignImpl(T value)
|
|
|
|
|
{
|
|
|
|
|
this._value = value;
|
|
|
|
|
this._state = (FutureState)((ulong)2L);
|
|
|
|
|
FutureState state = ((IFuture)this).state;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC81 RID: 52353 RVA: 0x002ECE28 File Offset: 0x002EB028
|
|
|
|
|
[Token(Token = "0x600CC81")]
|
|
|
|
|
[Address(RVA = "0x2A340E0", Offset = "0x2A32EE0", VA = "0x182A340E0")]
|
|
|
|
|
private void FailImpl(Exception error)
|
|
|
|
|
{
|
|
|
|
|
int num = 0;
|
|
|
|
|
this._value = num;
|
|
|
|
|
this._state = (FutureState)((ulong)3L);
|
|
|
|
|
FutureState state = ((IFuture)this).state;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC82 RID: 52354 RVA: 0x0000220F File Offset: 0x0000040F
|
|
|
|
|
[Token(Token = "0x600CC82")]
|
|
|
|
|
[Address(RVA = "0x2A34D40", Offset = "0x2A33B40", VA = "0x182A34D40")]
|
|
|
|
|
private void FlushSuccessCallbacks()
|
|
|
|
|
{
|
|
|
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x0600CC83 RID: 52355 RVA: 0x002ECE50 File Offset: 0x002EB050
|
|
|
|
|
[Token(Token = "0x600CC83")]
|
|
|
|
|
[Address(RVA = "0x2A34930", Offset = "0x2A33730", VA = "0x182A34930")]
|
|
|
|
|
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: 0x0600CC84 RID: 52356 RVA: 0x002ECEA4 File Offset: 0x002EB0A4
|
|
|
|
|
[Token(Token = "0x600CC84")]
|
|
|
|
|
[Address(RVA = "0x2A34300", Offset = "0x2A33100", VA = "0x182A34300")]
|
|
|
|
|
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: 0x0600CC85 RID: 52357 RVA: 0x002ECEE8 File Offset: 0x002EB0E8
|
|
|
|
|
[Token(Token = "0x600CC85")]
|
|
|
|
|
[Address(RVA = "0x2A34020", Offset = "0x2A32E20", VA = "0x182A34020")]
|
|
|
|
|
private void ClearCallbacks()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Token: 0x04008248 RID: 33352
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x4008248")]
|
|
|
|
|
private FutureState _state;
|
|
|
|
|
|
|
|
|
|
// Token: 0x04008249 RID: 33353
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x4008249")]
|
|
|
|
|
private T _value;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824A RID: 33354
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824A")]
|
|
|
|
|
private Exception _error;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824B RID: 33355
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824B")]
|
|
|
|
|
private Func<T> _processFunc;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824C RID: 33356
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824C")]
|
|
|
|
|
private readonly List<FutureValueCallback<T>> _itemCallbacks;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824D RID: 33357
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824D")]
|
|
|
|
|
private readonly List<FutureValueCallback<T>> _successCallbacks;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824E RID: 33358
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824E")]
|
|
|
|
|
private readonly List<FutureErrorCallback> _errorCallbacks;
|
|
|
|
|
|
|
|
|
|
// Token: 0x0400824F RID: 33359
|
|
|
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
|
|
|
|
|
[Token(Token = "0x400824F")]
|
|
|
|
|
private readonly List<FutureCallback<T>> _complationCallbacks;
|
|
|
|
|
}
|
|
|
|
|
}
|