Skip to content

Commit beeb166

Browse files
committed
remove error type
1 parent 65b6c32 commit beeb166

File tree

8 files changed

+12
-21
lines changed

8 files changed

+12
-21
lines changed

compiler/src/main/scala/edg/ExprBuilder.scala

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,6 @@ object ExprBuilder {
137137
))
138138
)
139139
}
140-
141-
def Error(msg: String): lit.ValueLit = {
142-
lit.ValueLit(`type` = lit.ValueLit.Type.Error(msg))
143-
}
144140
}
145141

146142
private def localPathStepsNameOption(steps: Seq[ref.LocalStep]): Option[Seq[String]] = {

compiler/src/main/scala/edg/compiler/ConstProp.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ class ConstProp() {
262262
}
263263

264264
/** Returns the value of a parameter, or None if it does not have a value (yet?). Can be used to check if parameters
265-
* are resolved yet by testing against None.
265+
* are resolved yet by testing against None. Cannot return an ErrorValue
266266
*/
267267
def getValue(param: IndirectDesignPath): Option[ExprValue] = {
268268
resolveConnectedLink(param) match {

compiler/src/main/scala/edg/compiler/ExprEvaluatePartial.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ object ExprResult {
1616
* missing set may increase as more parameters are solved, because some expressions have dynamic references. For
1717
* example, if-then-else additionally depends on either true or false subexprs once the condition is known.
1818
*/
19-
class ExprEvaluatePartial(refResolver: IndirectDesignPath => Option[ExprValue], root: DesignPath) extends ValueExprMap[ExprResult] {
19+
class ExprEvaluatePartial(refResolver: IndirectDesignPath => Option[ExprValue], root: DesignPath)
20+
extends ValueExprMap[ExprResult] {
2021
override def mapLiteral(literal: lit.ValueLit): ExprResult =
2122
ExprResult.Result(ExprEvaluate.evalLiteral(literal))
2223

compiler/src/main/scala/edg/compiler/ExprToString.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ class ExprToString() extends ValueExprMap[String] {
2929
case lit.ValueLit.Type.Array(array) =>
3030
val arrayElts = array.elts.map(mapLiteral)
3131
s"[${arrayElts.mkString(", ")}]"
32-
case lit.ValueLit.Type.Struct(value) => "unsupported struct"
33-
case lit.ValueLit.Type.Error(msg) => s"err($msg)"
32+
case lit.ValueLit.Type.Struct(_) => "unsupported struct"
3433
case lit.ValueLit.Type.Empty => "(empty)"
3534
}
3635

compiler/src/main/scala/edg/compiler/ExprValue.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ object ExprValue {
4242
}
4343
case lit.ValueLit.Type.Array(arrayLiteral) =>
4444
ArrayValue(arrayLiteral.elts.map { lit => fromValueLit(lit) })
45-
case lit.ValueLit.Type.Error(msg) => ErrorValue(msg)
4645
case lit.ValueLit.Type.Empty | lit.ValueLit.Type.Struct(_) =>
4746
throw new IllegalArgumentException(s"unsupported literal $literal")
4847
}
@@ -209,7 +208,8 @@ case class ArrayValue[T <: ExprValue](values: Seq[T]) extends ExprValue {
209208
}
210209
}
211210

211+
// a special value not in the IR that indicates and error
212212
case class ErrorValue(msg: String) extends ExprValue {
213-
override def toLit: lit.ValueLit = Literal.Error(msg)
213+
override def toLit: lit.ValueLit = throw new IllegalArgumentException("cannot convert error value to literal")
214214
override def toStringValue: String = msg
215215
}

edg/edgir/lit_pb2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from google.protobuf import symbol_database as _symbol_database
66
_sym_db = _symbol_database.Default()
77
from ..edgir import common_pb2 as edgir_dot_common__pb2
8-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fedgir/lit.proto\x12\tedgir.lit\x1a\x12edgir/common.proto"\x17\n\x08FloatLit\x12\x0b\n\x03val\x18\x01 \x01(\x01"\x15\n\x06IntLit\x12\x0b\n\x03val\x18\x01 \x01(\x12"\x16\n\x07BoolLit\x12\x0b\n\x03val\x18\x01 \x01(\x08"\x16\n\x07TextLit\x12\x0b\n\x03val\x18\x01 \x01(\t"V\n\x08RangeLit\x12$\n\x07minimum\x18\x01 \x01(\x0b2\x13.edgir.lit.ValueLit\x12$\n\x07maximum\x18\x02 \x01(\x0b2\x13.edgir.lit.ValueLit"\x84\x01\n\tStructLit\x122\n\x07members\x18\x01 \x03(\x0b2!.edgir.lit.StructLit.MembersEntry\x1aC\n\x0cMembersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12"\n\x05value\x18\x02 \x01(\x0b2\x13.edgir.lit.ValueLit:\x028\x01"-\n\x08ArrayLit\x12!\n\x04elts\x18\x01 \x03(\x0b2\x13.edgir.lit.ValueLit"\xd7\x02\n\x08ValueLit\x12\'\n\x08floating\x18\x01 \x01(\x0b2\x13.edgir.lit.FloatLitH\x00\x12$\n\x07integer\x18\x02 \x01(\x0b2\x11.edgir.lit.IntLitH\x00\x12%\n\x07boolean\x18\x03 \x01(\x0b2\x12.edgir.lit.BoolLitH\x00\x12"\n\x04text\x18\x04 \x01(\x0b2\x12.edgir.lit.TextLitH\x00\x12&\n\x06struct\x18\t \x01(\x0b2\x14.edgir.lit.StructLitH\x00\x12$\n\x05range\x18\n \x01(\x0b2\x13.edgir.lit.RangeLitH\x00\x12$\n\x05array\x18\x0b \x01(\x0b2\x13.edgir.lit.ArrayLitH\x00\x12\x0f\n\x05error\x18~ \x01(\tH\x00\x12$\n\x04meta\x18\x7f \x01(\x0b2\x16.edgir.common.MetadataB\x06\n\x04typeb\x06proto3')
8+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0fedgir/lit.proto\x12\tedgir.lit\x1a\x12edgir/common.proto"\x17\n\x08FloatLit\x12\x0b\n\x03val\x18\x01 \x01(\x01"\x15\n\x06IntLit\x12\x0b\n\x03val\x18\x01 \x01(\x12"\x16\n\x07BoolLit\x12\x0b\n\x03val\x18\x01 \x01(\x08"\x16\n\x07TextLit\x12\x0b\n\x03val\x18\x01 \x01(\t"V\n\x08RangeLit\x12$\n\x07minimum\x18\x01 \x01(\x0b2\x13.edgir.lit.ValueLit\x12$\n\x07maximum\x18\x02 \x01(\x0b2\x13.edgir.lit.ValueLit"\x84\x01\n\tStructLit\x122\n\x07members\x18\x01 \x03(\x0b2!.edgir.lit.StructLit.MembersEntry\x1aC\n\x0cMembersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12"\n\x05value\x18\x02 \x01(\x0b2\x13.edgir.lit.ValueLit:\x028\x01"-\n\x08ArrayLit\x12!\n\x04elts\x18\x01 \x03(\x0b2\x13.edgir.lit.ValueLit"\xc6\x02\n\x08ValueLit\x12\'\n\x08floating\x18\x01 \x01(\x0b2\x13.edgir.lit.FloatLitH\x00\x12$\n\x07integer\x18\x02 \x01(\x0b2\x11.edgir.lit.IntLitH\x00\x12%\n\x07boolean\x18\x03 \x01(\x0b2\x12.edgir.lit.BoolLitH\x00\x12"\n\x04text\x18\x04 \x01(\x0b2\x12.edgir.lit.TextLitH\x00\x12&\n\x06struct\x18\t \x01(\x0b2\x14.edgir.lit.StructLitH\x00\x12$\n\x05range\x18\n \x01(\x0b2\x13.edgir.lit.RangeLitH\x00\x12$\n\x05array\x18\x0b \x01(\x0b2\x13.edgir.lit.ArrayLitH\x00\x12$\n\x04meta\x18\x7f \x01(\x0b2\x16.edgir.common.MetadataB\x06\n\x04typeb\x06proto3')
99
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
1010
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'edgir.lit_pb2', globals())
1111
if _descriptor._USE_C_DESCRIPTORS == False:
@@ -29,4 +29,4 @@
2929
_ARRAYLIT._serialized_start = 369
3030
_ARRAYLIT._serialized_end = 414
3131
_VALUELIT._serialized_start = 417
32-
_VALUELIT._serialized_end = 760
32+
_VALUELIT._serialized_end = 743

edg/edgir/lit_pb2.pyi

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ class ValueLit(google.protobuf.message.Message):
161161
STRUCT_FIELD_NUMBER: builtins.int
162162
RANGE_FIELD_NUMBER: builtins.int
163163
ARRAY_FIELD_NUMBER: builtins.int
164-
ERROR_FIELD_NUMBER: builtins.int
165164
META_FIELD_NUMBER: builtins.int
166165

167166
@property
@@ -191,22 +190,20 @@ class ValueLit(google.protobuf.message.Message):
191190
@property
192191
def array(self) -> global___ArrayLit:
193192
...
194-
error: builtins.str
195-
'represents an expr that evaluated to an error and stopped propagation'
196193

197194
@property
198195
def meta(self) -> edgir.common_pb2.Metadata:
199196
...
200197

201-
def __init__(self, *, floating: global___FloatLit | None=..., integer: global___IntLit | None=..., boolean: global___BoolLit | None=..., text: global___TextLit | None=..., struct: global___StructLit | None=..., range: global___RangeLit | None=..., array: global___ArrayLit | None=..., error: builtins.str=..., meta: edgir.common_pb2.Metadata | None=...) -> None:
198+
def __init__(self, *, floating: global___FloatLit | None=..., integer: global___IntLit | None=..., boolean: global___BoolLit | None=..., text: global___TextLit | None=..., struct: global___StructLit | None=..., range: global___RangeLit | None=..., array: global___ArrayLit | None=..., meta: edgir.common_pb2.Metadata | None=...) -> None:
202199
...
203200

204-
def HasField(self, field_name: typing_extensions.Literal['array', b'array', 'boolean', b'boolean', 'error', b'error', 'floating', b'floating', 'integer', b'integer', 'meta', b'meta', 'range', b'range', 'struct', b'struct', 'text', b'text', 'type', b'type']) -> builtins.bool:
201+
def HasField(self, field_name: typing_extensions.Literal['array', b'array', 'boolean', b'boolean', 'floating', b'floating', 'integer', b'integer', 'meta', b'meta', 'range', b'range', 'struct', b'struct', 'text', b'text', 'type', b'type']) -> builtins.bool:
205202
...
206203

207-
def ClearField(self, field_name: typing_extensions.Literal['array', b'array', 'boolean', b'boolean', 'error', b'error', 'floating', b'floating', 'integer', b'integer', 'meta', b'meta', 'range', b'range', 'struct', b'struct', 'text', b'text', 'type', b'type']) -> None:
204+
def ClearField(self, field_name: typing_extensions.Literal['array', b'array', 'boolean', b'boolean', 'floating', b'floating', 'integer', b'integer', 'meta', b'meta', 'range', b'range', 'struct', b'struct', 'text', b'text', 'type', b'type']) -> None:
208205
...
209206

210-
def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['floating', 'integer', 'boolean', 'text', 'struct', 'range', 'array', 'error'] | None:
207+
def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['floating', 'integer', 'boolean', 'text', 'struct', 'range', 'array'] | None:
211208
...
212209
global___ValueLit = ValueLit

proto/edgir/lit.proto

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,6 @@ message ValueLit {
5151
StructLit struct = 9;
5252
RangeLit range = 10;
5353
ArrayLit array = 11;
54-
55-
string error = 126; // represents an expr that evaluated to an error and stopped propagation
5654
}
5755

5856
edgir.common.Metadata meta = 127;

0 commit comments

Comments
 (0)