Browse Source

Deprecate keyword `opaque` in favour of `#opaque`

gingerBill 4 years ago
parent
commit
c4cb7170ee
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/parser.cpp

+ 6 - 0
src/parser.cpp

@@ -1833,12 +1833,18 @@ Ast *parse_operand(AstFile *f, bool lhs) {
 
 	case Token_opaque: {
 		Token token = expect_token(f, Token_opaque);
+		warning(token, "opaque is deprecated, please use #opaque");
 		Ast *type = parse_type(f);
 		return ast_opaque_type(f, token, type);
 	}
 
 	case Token_Hash: {
 		Token token = expect_token(f, Token_Hash);
+		if (allow_token(f, Token_opaque)) {
+			Ast *type = parse_type(f);
+			return ast_opaque_type(f, token, type);
+		}
+
 		Token name = expect_token(f, Token_Ident);
 		if (name.string == "type") {
 			return ast_helper_type(f, token, parse_type(f));