Can you parse the d source file during compile time with std.regex?

12345swordy via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Aug 1 10:15:49 PDT 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


More information about the Digitalmars-d-learn mailing list