Files
@ ef37386d0c6f
Branch filter:
Location: CSY/reowolf/src/runtime/error.rs - annotation
ef37386d0c6f
1.8 KiB
application/rls-services+xml
Put expression types of procedures in type table
Before we annotated the AST. But that is silly in hindsight:
certain operations have a completely different meaning when applied
in a polymorphic context (i.e. the field index determined by a
select expression).
Before we annotated the AST. But that is silly in hindsight:
certain operations have a completely different meaning when applied
in a polymorphic context (i.e. the field index determined by a
select expression).
cecf94fdb875 cecf94fdb875 65390fb1cdbc 65390fb1cdbc 65390fb1cdbc 0131beae03dc 9ed6d091a817 65390fb1cdbc 65390fb1cdbc 65390fb1cdbc 65390fb1cdbc 65390fb1cdbc 65390fb1cdbc ada07cee1f99 65390fb1cdbc cecf94fdb875 db17da820a3b db17da820a3b d76b1fe2648f b69f417a9972 db17da820a3b db17da820a3b db17da820a3b db17da820a3b db17da820a3b db17da820a3b db17da820a3b db17da820a3b 65390fb1cdbc 3f6d45f84e76 2a1875efc62c 2a1875efc62c ada07cee1f99 ada07cee1f99 2a1875efc62c 2a1875efc62c 2a1875efc62c cecf94fdb875 8642f7a7bf01 330b9c117fa5 65390fb1cdbc 2a1875efc62c 8ab15200d9a4 8ab15200d9a4 8ab15200d9a4 8ab15200d9a4 8ab15200d9a4 cecf94fdb875 65390fb1cdbc ada07cee1f99 65390fb1cdbc ada07cee1f99 65390fb1cdbc 1e7064d79bdb 1e7064d79bdb 1e7064d79bdb 8ab15200d9a4 1e7064d79bdb 1e7064d79bdb 1e7064d79bdb 1e7064d79bdb 3f6d45f84e76 3f6d45f84e76 3f6d45f84e76 3f6d45f84e76 3f6d45f84e76 3f6d45f84e76 842acacee86d 162c3306c4af 2a1875efc62c 2a1875efc62c 2a1875efc62c 2a1875efc62c 2a1875efc62c 2a1875efc62c | use crate::common::*;
#[derive(Debug)]
pub enum ConnectError {
BindFailed(SocketAddr),
UdpConnectFailed(SocketAddr),
TcpInvalidConnect(SocketAddr),
PollInitFailed,
Timeout,
PollFailed,
AcceptFailed(SocketAddr),
AlreadyConnected,
PortPeerPolarityMismatch(PortId),
NetEndpointSetupError(SocketAddr, NetEndpointError),
SetupAlgMisbehavior,
}
#[derive(Eq, PartialEq, Copy, Clone, Debug)]
pub enum AddComponentError {
DuplicatePort(PortId),
NoSuchModule,
NoSuchComponent,
NonPortTypeParameters,
CannotMovePort(PortId),
WrongNumberOfParamaters { expected: usize },
UnknownPort(PortId),
WrongPortPolarity { port: PortId, expected_polarity: Polarity },
DuplicateMovedPort(PortId),
}
////////////////////////
#[derive(Debug, Clone)]
pub enum UnrecoverableSyncError {
PollFailed,
BrokenNetEndpoint { index: usize },
BrokenUdpEndpoint { index: usize },
MalformedStateError(MalformedStateError),
}
#[derive(Debug, Clone)]
pub enum SyncError {
NotConnected,
InconsistentProtoComponent(ComponentId),
RoundFailure,
Unrecoverable(UnrecoverableSyncError),
}
#[derive(Debug, Clone)]
pub enum MalformedStateError {
PortCannotPut(PortId),
GetterUnknownFor { putter: PortId },
}
#[derive(Debug, Clone)]
pub enum NetEndpointError {
MalformedMessage,
BrokenNetEndpoint,
}
#[derive(Debug)]
pub enum PortOpError {
WrongPolarity,
UnknownPolarity,
NotConnected,
MultipleOpsOnPort,
PortUnavailable,
}
#[derive(Debug, Eq, PartialEq)]
pub enum GottenError {
NoPreviousRound,
PortDidntGet,
PreviousSyncFailed,
}
#[derive(Debug, Eq, PartialEq)]
pub struct WrongStateError;
/////////////////////
impl From<UnrecoverableSyncError> for SyncError {
fn from(e: UnrecoverableSyncError) -> Self {
Self::Unrecoverable(e)
}
}
|