LIMITATIONS.md 1.8 KB

Known Limitations

  • C/C++, C# and Java parsers do not recognise definition of functions or overloaded operators in case of embeded comments after identifier name and before the list of arguments.

    • This function is not detected by Metrix++:

      int getMax /* undesarable comment */ (int* array, int length)
      {
          /* ... */
      }
      
    • This function is detected:

      int getMax(int* array, int length) /* here is fine */
      {
          /* ... */
      }
      
  • C/C++ parser does not recognise comments within preprocessor statements. These comments are considered to be parts of a define.

    • This comment is not recognized by Metrix++:

      #define GET_MAX(a, b)      \
          /*                    \
           * This macros returns  \
           * maximum from a and b \
           */                  \
          ((a > b) ? a : b)
      
    • This comment is recognised:

      /*
       * This macro returns maximum from a and b
       */
      #define GET_MAX(a, b) \
          ((a > b) ? a : b)
      
  • C# parser does not recognise getters/setters for properties, if there is a comment before a block.

    • This function is not detected by Metrix++: | :

      get /* undesarable comment */
      {
          /* ... */
      }
      
    • This function is detected:

      get
      {   /* here comment is fine */
          /* ... */
      }
      
  • C# parser interprets properties with default getter/setter as data fields.

  • Java parser does not recognise anonymous inner classes.

  • C/C++, C# and Java parsers do not recognise definition of classes/structs/namespaces/interface) in case of embeded comments after keyword and identifier name.

    • This class is not detected by Metrix++

      class /* comment */ MyClass
      {
          /* ... */
      }
      
    • This class is detected:

      class MyClass /* here is fine */
      {
          /* ... */
      }
      
  • Java parser does not support parsing of identifiers which have got unicode symbols in name.