##// END OF EJS Templates
Adde workaround to the behaviour of the logical operations stack in conjuction...
Adde workaround to the behaviour of the logical operations stack in conjuction with async/await methods

File last commit:

r249:d82909310094 v3
r255:b00441e04738 v3
Show More
RejectedPromise`1.cs
49 lines | 1.0 KiB | text/x-csharp | CSharpLexer
/ Implab / RejectedPromise`1.cs
cin
Added awaiters to promises...
r248 using System;
namespace Implab
{
public struct RejectedPromise<T> : IPromise<T> {
readonly Exception m_reason;
public Type ResultType => typeof(void);
public bool IsResolved => true;
public bool IsRejected => true;
public bool IsFulfilled => false;
public Exception RejectReason => m_reason;
public RejectedPromise(Exception reason) {
m_reason = reason;
}
public IPromise<T2> Cast<T2>() {
return (IPromise<T2>)(IPromise<T>)this;
}
void IPromise.Join() {
cin
Implab.Test moved to xunit...
r249 throw m_reason.Wrap();
cin
Added awaiters to promises...
r248 }
void IPromise.Join(int timeout) {
cin
Implab.Test moved to xunit...
r249 throw m_reason.Wrap();
cin
Added awaiters to promises...
r248 }
public T Join() {
cin
Implab.Test moved to xunit...
r249 throw m_reason.Wrap();
cin
Added awaiters to promises...
r248 }
public T Join(int timeout) {
cin
Implab.Test moved to xunit...
r249 throw m_reason.Wrap();
cin
Added awaiters to promises...
r248 }
public void Then(IResolvable next) {
next.Reject(m_reason);
}
public void Then(IResolvable<T> next) {
next.Reject(m_reason);
}
}
}