mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-10 23:32:09 +00:00
SELF -> @self (looks better (IMO:)) and make sure the .self def gets
generatoed and used when @self is seen
This commit is contained in:
parent
967d39541a
commit
e11e2f3718
4 changed files with 12 additions and 1 deletions
|
@ -134,6 +134,7 @@ expr_t *new_temp_def_expr (type_t *type);
|
|||
expr_t *new_bind_expr (expr_t *e1, expr_t *e2);
|
||||
expr_t *new_name_expr (const char *name);
|
||||
expr_t *new_def_expr (def_t *def);
|
||||
expr_t *new_self_expr (void);
|
||||
|
||||
void inc_users (expr_t *e);
|
||||
void convert_name (expr_t *e);
|
||||
|
|
|
@ -468,6 +468,15 @@ new_def_expr (def_t *def)
|
|||
return e;
|
||||
}
|
||||
|
||||
expr_t *
|
||||
new_self_expr (void)
|
||||
{
|
||||
def_t *def = PR_GetDef (&type_entity, ".self", 0, &numpr_globals);
|
||||
|
||||
PR_DefInitialized (def);
|
||||
return new_def_expr (def);
|
||||
}
|
||||
|
||||
expr_t *
|
||||
append_expr (expr_t *block, expr_t *e)
|
||||
{
|
||||
|
|
|
@ -262,7 +262,6 @@ static keyword_t keywords[] = {
|
|||
{"enum", ENUM, 0, 0, PROG_ID_VERSION},
|
||||
{"typedef", TYPEDEF, 0, 0, PROG_ID_VERSION},
|
||||
{"super", SUPER, 0, 0, PROG_VERSION},
|
||||
{"SELF", SELF, 0, 0, PROG_VERSION},
|
||||
|
||||
{"@class", CLASS, 0, 0, PROG_VERSION},
|
||||
{"@defs", DEFS, 0, 0, PROG_VERSION},
|
||||
|
@ -275,6 +274,7 @@ static keyword_t keywords[] = {
|
|||
{"@protocol", PROTOCOL, 0, 0, PROG_VERSION},
|
||||
{"@public", PUBLIC, 0, 0, PROG_VERSION},
|
||||
{"@selector", SELECTOR, 0, 0, PROG_VERSION},
|
||||
{"@self", SELF, 0, 0, PROG_VERSION},
|
||||
};
|
||||
|
||||
static const char *
|
||||
|
|
|
@ -781,6 +781,7 @@ expr
|
|||
| expr INCOP { $$ = incop_expr ($2, $1, 1); }
|
||||
| obj_expr { $$ = $1; }
|
||||
| NAME { $$ = new_name_expr ($1); }
|
||||
| SELF { $$ = new_self_expr (); }
|
||||
| const { $$ = $1; }
|
||||
| '(' expr ')' { $$ = $2; $$->paren = 1; }
|
||||
;
|
||||
|
|
Loading…
Reference in a new issue