/parsing/d/staticunit.d

http://github.com/wilkie/djehuty · D · 50 lines · 27 code · 9 blank · 14 comment · 1 complexity · be0405d4798bc473e4fa29d0da073c90 MD5 · raw file

  1. /*
  2. * staticunit.d
  3. *
  4. */
  5. module parsing.d.staticunit;
  6. import parsing.parseunit;
  7. import parsing.token;
  8. import parsing.d.tokens;
  9. import parsing.d.nodes;
  10. import parsing.d.staticifunit;
  11. import parsing.d.staticassertunit;
  12. import djehuty;
  13. class StaticUnit : ParseUnit {
  14. override bool tokenFound(Token current) {
  15. switch (current.type) {
  16. case DToken.If:
  17. // Static If (Compile-time condition)
  18. // static if ...
  19. auto tree = expand!(StaticIfUnit)();
  20. break;
  21. case DToken.Assert:
  22. // Static Assert (Compile-time assert)
  23. // static assert ...
  24. auto tree = expand!(StaticAssertUnit)();
  25. break;
  26. case DToken.This:
  27. // Static Constructor
  28. // static this ...
  29. break;
  30. case DToken.Cat:
  31. // Static Destructor
  32. // static ~ this ...
  33. break;
  34. default:
  35. // Attribute Specifier
  36. // static Type
  37. break;
  38. }
  39. return true;
  40. }
  41. }