1. C++ / Говнокод #19579

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    if (c & Expression::RefValue) {
          scontext += "|RefValue";
        }
        if (c & Expression::RefParameter) {
          scontext += "|RefParameter";
        }
        if (c & Expression::DeepReference) {
          scontext += "|DeepReference";
        }
        if (c & Expression::ObjectContext) {
          scontext += "|ObjectContext";
        }
        if (c & Expression::InParameterExpression) {
          scontext += "|InParameterExpression";
        }
        if (c & Expression::ExistContext) {
          scontext += "|ExistContext";
        }
        if (c & Expression::UnsetContext) {
          scontext += "|UnsetContext";
        }
        if (c & Expression::AssignmentLHS) {
          scontext += "|AssignmentLHS";
        }
        if (c & Expression::RefAssignmentLHS) {
          scontext += "|RefAssignmentLHS";
        }
        if (c & Expression::DeepAssignmentLHS) {
          scontext += "|DeepAssignmentLHS";
        }
        if (c & Expression::AssignmentRHS) {
          scontext += "|AssignmentRHS";
        }
        if (c & Expression::InvokeArgument) {
          scontext += "|InvokeArgument";
        }
        if (c & Expression::OprLValue) {
          scontext += "|OprLValue";
        }
        if (c & Expression::DeepOprLValue) {
          scontext += "|DeepOprLValue";
        }
        if (c & Expression::AccessContext) {
          scontext += "|AccessContext";
        }
        if (c & Expression::ReturnContext) {
          scontext += "|ReturnContext";
        }

    Нашел тут:
    https://github.com/facebook/hhvm/blob/master/hphp/compiler/construct.cpp#L226

    Запостил: kschingiz, 05 Марта 2016

    Комментарии (35) RSS

    • Ха-ха VM, это что за виртуальная машина такая?
      Ответить
    • Я бы, конечно, сделал pair<Expression, const char *> NAMES[], и реализовал эту тоску циклом, но и в этом особого говна не вижу.
      Ответить
    • ЕМНИП, можно и так.

      #define KOKOKO_FULL \
      KOKOKO_X("|RefValue") \
      KOKOKO_X("|RefParameter") \
      etc...
      
      #define KOKOKO_X(suffix) \
      if (c & Expression:: ## suffix) {
          scontext += suffix;
      }
      
      somewhere in the code...
      
      KOKOKO_FULL
      Ответить
      • Ужас то какой...
        Ответить
        • Согласен. Ведь не скомпилится же. Как-то так исправить надо:
          #define KOKOKO_FULL \
          KOKOKO_X(RefValue) \
          KOKOKO_X(RefParameter) \
          // etc...
          
          #define KOKOKO_X(suffix) \
          if (c & Expression::suffix) { \
              scontext += "|" # suffix; \
          }
          Ответить
        • Это ещё семечки, так генерятся целые функции в кококодобазе.
          Ответить
      • Си - говно.
        /thread
        Ответить
        • да что Вы говорите!.. А я такого же мнения о крестах...
          Вынужден минуснуть, сорри...
          Ответить
          • А я такого же мнения об обоих языках.
            Ответить
            • си - няяяшечка.
              Только там ты можешь поебаться с байтами без защиты, оставаясь при этом культкрным человеком
              Ответить
              • В Паскале тоже можно, причём не менее культурным образом.
                Ответить
                • Паскаль для пидерастов и школьников
                  Ответить
                  • хорошо ты Тараса обложил
                    Ответить
                    • Тарас на с++ 2005 кодит
                      Ответить
                      • Обновление инструментов - не самоцель, к тому же в старых выпусках уже давно известны баги. Опытные кодеры очень осторожно относятся к смене устоявшегося инструментария. Ты видел визуалку последнюю? Блядская совсем.
                        Ответить
                        • Я на последней визуалке сейчас, что самое смешное.
                          Ответить
                          • Тарас прогрессирует с невероятной скоростью...
                            Ответить
                            • я бы сказал что это был квантовый скачок
                              Ответить
                      • C++2005 круче, чем C++14?
                        Ответить
                        • очевидно, что круче на С++1991.

                          на деле же Тарас дауншифтер и ему так удобно, а не вовсе потому, что он опытный кодер
                          Ответить
                          • А я думал дауншифтеры это которые в лесу с бородой.

                            Как дед "Кто вы такие? Я вас не звал! Идите нахуй!"
                            Ответить
                            • http://www.gamedev.ru/flame/forum/?id=169670
                              я оставлю это тут, а то, походу, еще не все ньюфаги знают
                              Ответить
                              • или те, кто на хуе видал цпп, гейдев и в особенности тараса
                                Ответить
                  • Неправда! В школе преподают Бейсик, а 3_14дерасты пишут на 3_14тоне.
                    Ответить
                    • 3,1415-дерасты пишут на жаве же.
                      Ответить
                      • ты на джаву пересел? поздравляю!
                        Ответить
                        • У меня только 2 знака после запятой, так что соси.
                          Ответить
                          • ты хочешь что бы я дососал тебе еще 2 знака?
                            Ответить
                            • Лучше 3,1415 высоси лишние знаки, два пидара, блядь.
                              Ответить
                              • Конечно два. Ты и твой новый любовник Шамиль. Ты уже выучил биографию Кадырова?
                                Ответить
                                • Ыыыы, он не в моей стране.Это тебе скоро будет пора кричать "чичня - круто!"
                                  Ответить
      • хотя бы переставь местами дефайны, что ли.
        Ответить
        • И так сойдёт. Они ленивые же, лишь бы к моменту раскрытия все были описаны.
          Ответить
          • Так надо. Это чтобы где-то дальше в кококоде высрать другой KOKOKO_X и вызвать KOKOKO_FULL
            Ответить

    Добавить комментарий