The OpenD Programming Language

reflectGetUnittest

  1. template reflectGetUnittest(string target, alias symbol)
    template reflectGetUnittest (
    string target
    alias symbol
    ) {
    static if(hasUDA!(symbol, reflectUnittest!target))
    enum string reflectGetUnittest;
    static if(!(hasUDA!(symbol, reflectUnittest!target)))
    enum string reflectGetUnittest;
    }
  2. template reflectGetUnittest(string target)

Examples

enum E
{
    @reflectUnittest!"c++"("assert(E::a == 0);")
    a,
    @reflectUnittest!"c++"("assert(E::b == 1);")
    b,
    c,
}

static assert(reflectGetUnittest!"c++"(E.a) == "assert(E::a == 0);");
static assert(reflectGetUnittest!"c++"(E.b) == "assert(E::b == 1);");
static assert(reflectGetUnittest!"c++"(E.c) is null);

struct S
{
    @reflectUnittest!"c++"("alpha")
    int a;
}

static assert(reflectGetUnittest!("c++", S.a) == "alpha");

Meta