/runtime/typeinfo/ti_delegate.d

http://github.com/wilkie/djehuty · D · 40 lines · 23 code · 11 blank · 6 comment · 1 complexity · 51655c1db69a6609a3de1e31a515a0d2 MD5 · raw file

  1. /*
  2. * ti_delegate.d
  3. *
  4. * This module implements the TypeInfo for the delegate type.
  5. *
  6. */
  7. module runtime.typeinfo.ti_delegate;
  8. class TypeInfo_Delegate : TypeInfo {
  9. hash_t getHash(void *p) {
  10. long l = *cast(long *)p;
  11. return cast(uint)(l + (l >> 32));
  12. }
  13. int equals(void *p1, void *p2) {
  14. return *cast(dg *)p1 == *cast(dg *)p2;
  15. }
  16. size_t tsize() {
  17. return dg.sizeof;
  18. }
  19. void swap(void *p1, void *p2) {
  20. dg t;
  21. t = *cast(dg *)p1;
  22. *cast(dg *)p1 = *cast(dg *)p2;
  23. *cast(dg *)p2 = t;
  24. }
  25. uint flags() {
  26. return 1;
  27. }
  28. private alias void delegate(int) dg;
  29. }