Skip to content

Commit

Permalink
Merge pull request #3293 from yebblies/builtinfree
Browse files Browse the repository at this point in the history
[DDMD] [refactor] Move FuncDeclaration::isBuiltin into a free function
  • Loading branch information
9rnsr committed Feb 20, 2014
2 parents ecc3cc5 + 091a046 commit 503b17d
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
10 changes: 5 additions & 5 deletions src/builtin.c
Expand Up @@ -210,14 +210,14 @@ void builtin_init()
* Determine if function is a builtin one that we can
* evaluate at compile time.
*/
BUILTIN FuncDeclaration::isBuiltin()
BUILTIN isBuiltin(FuncDeclaration *fd)
{
if (builtin == BUILTINunknown)
if (fd->builtin == BUILTINunknown)
{
builtin_fp fp = builtin_lookup(mangleExact());
builtin = fp ? BUILTINyes : BUILTINno;
builtin_fp fp = builtin_lookup(fd->mangleExact());
fd->builtin = fp ? BUILTINyes : BUILTINno;
}
return builtin;
return fd->builtin;
}

/**************************************
Expand Down
2 changes: 1 addition & 1 deletion src/declaration.h
Expand Up @@ -545,6 +545,7 @@ enum BUILTIN
};

Expression *eval_builtin(Loc loc, FuncDeclaration *fd, Expressions *arguments);
BUILTIN isBuiltin(FuncDeclaration *fd);

typedef Expression *(*builtin_fp)(Loc loc, FuncDeclaration *fd, Expressions *arguments);
void add_builtin(const char *mangle, builtin_fp fp);
Expand Down Expand Up @@ -664,7 +665,6 @@ class FuncDeclaration : public Declaration
bool isMain();
bool isWinMain();
bool isDllMain();
BUILTIN isBuiltin();
bool isExport();
bool isImportedSymbol();
bool isCodeseg();
Expand Down
2 changes: 1 addition & 1 deletion src/interpret.c
Expand Up @@ -6890,7 +6890,7 @@ Expression *evaluateIfBuiltin(InterState *istate, Loc loc,
size_t nargs = arguments ? arguments->dim : 0;
if (!pthis)
{
if (fd->isBuiltin() == BUILTINyes)
if (isBuiltin(fd) == BUILTINyes)
{ Expressions args;
args.setDim(nargs);
for (size_t i = 0; i < args.dim; i++)
Expand Down

0 comments on commit 503b17d

Please sign in to comment.