Thread overview
Can you parse the d source file during compile time with std.regex?
Aug 01, 2017
12345swordy
Aug 01, 2017
Stefan Koch
Aug 01, 2017
12345swordy
August 01, 2017
I don't see this anywhere in the documentation. I am asking this as I want to know that it's possible to create a attribute to prevent certain functions being called in the body of a function. To enforce a certain code standard upon myself.
August 01, 2017
On Tuesday, 1 August 2017 at 16:16:46 UTC, 12345swordy wrote:
> I don't see this anywhere in the documentation. I am asking this as I want to know that it's possible to create a attribute to prevent certain functions being called in the body of a function. To enforce a certain code standard upon myself.

UDA's are your friend here.
There is no need to use parser, and in any case std.regex cannot match the regex at ct.

August 01, 2017
On Tuesday, 1 August 2017 at 16:20:07 UTC, Stefan Koch wrote:
> On Tuesday, 1 August 2017 at 16:16:46 UTC, 12345swordy wrote:
>> I don't see this anywhere in the documentation. I am asking this as I want to know that it's possible to create a attribute to prevent certain functions being called in the body of a function. To enforce a certain code standard upon myself.
>
> UDA's are your friend here.
> There is no need to use parser, and in any case std.regex cannot match the regex at ct.
I know that UDA exist, what I want to know if it is possible to create one that prevent certain things like calling certain functions in a function body Ie
@custom main()
{
 //function body
 example()//throw error by @custom
}
There is no getRawFunctionBody for traits either, so I was thinking about using std.regex to get the string of the function body and and then parse that string during compile time.

Alex