The following code chunk compiles perfectly:
labelSwitch: switch (lstrExchangeID) {
static foreach (sstrExchangeID; gstrExchangeIDs) {
mixin(r"case r"d, `"`, sstrExchangeID, `"`, r"d : "d);
mixin(r"classTickerCustom"d, sstrExchangeID, r" lobjTicker"d, sstrExchangeID, r" = new classTickerCustom"d, sstrExchangeID, r"(lstrSymbolID);"d);
//mixin(r"if (true == true) {"d);
mixin(r"pobjTickersCustom"d, sstrExchangeID, r" ~= lobjTicker"d, sstrExchangeID, r";"d);
mixin(r"pobjTickersCommon ~= cast(classTickerCommon) lobjTicker"d, sstrExchangeID, r";"d);
//mixin(r"}"d);
mixin(r"break labelSwitch;"d);
}
default :
break;
}
Now, if uncomment those two innocuous commented lines for the if (true == true) block:
labelSwitch: switch (lstrExchangeID) {
static foreach (sstrExchangeID; gstrExchangeIDs) {
mixin(r"case r"d, `"`, sstrExchangeID, `"`, r"d : "d);
mixin(r"classTickerCustom"d, sstrExchangeID, r" lobjTicker"d, sstrExchangeID, r" = new classTickerCustom"d, sstrExchangeID, r"(lstrSymbolID);"d);
mixin(r"if (true == true) {"d);
mixin(r"pobjTickersCustom"d, sstrExchangeID, r" ~= lobjTicker"d, sstrExchangeID, r";"d);
mixin(r"pobjTickersCommon ~= cast(classTickerCommon) lobjTicker"d, sstrExchangeID, r";"d);
mixin(r"}"d);
mixin(r"break labelSwitch;"d);
}
default :
break;
}
... it compiles no-more: Error: found End of File
when expecting }
following compound statement
... what I am doing wrong ?