diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-18 23:59:13 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-18 23:59:13 -0400 |
| commit | 8363d53bd27c621cb342fea15736a3b11231f2a4 (patch) | |
| tree | 094530cdd947f57197171f1dda58057739d63151 /environment.c | |
| parent | 9e07c6adc7a0616eec40e78024a8501ec7d96559 (diff) | |
Update channel API to take a Where parameter
Diffstat (limited to 'environment.c')
| -rw-r--r-- | environment.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/environment.c b/environment.c index a54cf5d1..4345770d 100644 --- a/environment.c +++ b/environment.c @@ -11,6 +11,7 @@ type_t *TEXT_TYPE = NULL; type_t *RANGE_TYPE = NULL; +type_t *WHERE_TYPE = NULL; public type_t *THREAD_TYPE = NULL; env_t *new_compilation_unit(CORD *libname) @@ -45,19 +46,18 @@ env_t *new_compilation_unit(CORD *libname) const char *name, *code, *type_str; } ns_entry_t; - type_t *where; { env_t *where_env = namespace_env(env, "Where"); type_t *anywhere = Type(StructType, .name="Anywhere"); type_t *start = Type(StructType, .name="Start"); type_t *end = Type(StructType, .name="End"); - where = Type(EnumType, .name="Where", .env=where_env, - .tags=new(tag_t, .name="Anywhere", .tag_value=0, .type=anywhere, - .next=new(tag_t, .name="Start", .tag_value=0, .type=start, - .next=new(tag_t, .name="End", .tag_value=0, .type=end)))); - set_binding(where_env, "Anywhere", new(binding_t, .type=where, .code="Where$tagged$Anywhere")); - set_binding(where_env, "Start", new(binding_t, .type=where, .code="Where$tagged$Start")); - set_binding(where_env, "End", new(binding_t, .type=where, .code="Where$tagged$End")); + WHERE_TYPE = Type(EnumType, .name="Where", .env=where_env, + .tags=new(tag_t, .name="Anywhere", .tag_value=0, .type=anywhere, + .next=new(tag_t, .name="Start", .tag_value=0, .type=start, + .next=new(tag_t, .name="End", .tag_value=0, .type=end)))); + set_binding(where_env, "Anywhere", new(binding_t, .type=WHERE_TYPE, .code="Where$tagged$Anywhere")); + set_binding(where_env, "Start", new(binding_t, .type=WHERE_TYPE, .code="Where$tagged$Start")); + set_binding(where_env, "End", new(binding_t, .type=WHERE_TYPE, .code="Where$tagged$End")); } { @@ -240,7 +240,7 @@ env_t *new_compilation_unit(CORD *libname) #undef F2 #undef F #undef C - {"Where", where, "Where_t", "Where", {}}, + {"Where", WHERE_TYPE, "Where_t", "Where", {}}, {"Range", RANGE_TYPE, "Range_t", "Range", TypedArray(ns_entry_t, {"reversed", "Range$reversed", "func(range:Range)->Range"}, {"by", "Range$by", "func(range:Range, step:Int)->Range"}, |
