Skip to content

Commit 3cc817f

Browse files
committed
---
yaml --- r: 1540 b: refs/heads/master c: df3038e h: refs/heads/master v: v3
1 parent 0038235 commit 3cc817f

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 3869b3bfe489fc8db37b4436a9a38e732cc3d219
2+
refs/heads/master: df3038e68bf1189cd9cb0fc81e57da2c23594b63

trunk/src/comp/front/ast.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ tag mutability {
8383
imm;
8484
}
8585

86+
tag opacity {
87+
op_abstract;
88+
op_transparent;
89+
}
90+
8691
tag layer {
8792
layer_value;
8893
layer_state;

trunk/src/comp/front/parser.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1830,6 +1830,8 @@ impure fn parse_item_native_fn(parser p, ast.effect eff) -> @ast.native_item {
18301830

18311831
impure fn parse_native_item(parser p) -> @ast.native_item {
18321832
let ast.effect eff = parse_effect(p);
1833+
let ast.opacity opa = parse_opacity(p);
1834+
let ast.layer lyr = parse_layer(p);
18331835
alt (p.peek()) {
18341836
case (token.TYPE) {
18351837
ret parse_item_native_type(p);
@@ -1978,6 +1980,19 @@ impure fn parse_item_tag(parser p) -> @ast.item {
19781980
ret @spanned(lo, hi, item);
19791981
}
19801982

1983+
impure fn parse_opacity(parser p) -> ast.opacity {
1984+
alt (p.peek()) {
1985+
case (token.ABS) {
1986+
p.bump();
1987+
ret ast.op_abstract;
1988+
}
1989+
case (_) {
1990+
ret ast.op_transparent;
1991+
}
1992+
}
1993+
fail;
1994+
}
1995+
19811996
impure fn parse_layer(parser p) -> ast.layer {
19821997
alt (p.peek()) {
19831998
case (token.STATE) {
@@ -2033,6 +2048,7 @@ fn peeking_at_item(parser p) -> bool {
20332048

20342049
impure fn parse_item(parser p) -> @ast.item {
20352050
let ast.effect eff = parse_effect(p);
2051+
let ast.opacity opa = parse_opacity(p);
20362052
let ast.layer lyr = parse_layer(p);
20372053

20382054
alt (p.peek()) {

0 commit comments

Comments
 (0)