title: Is there support for predefined macros in DART
body: <p>Does DART support predefined macros such as:</p>
  
  <pre><code>__LINE__
  </code></pre>
  
  <p>or</p>
  
  <pre><code>__FUNCTION__
  </code></pre>
  
  <p>The reason for asking is that the transformer DART2JS makes the console log not useful as all the logs shows: js_primitives.dart:30</p>
  
  <p>[update BasE]</p>
  
  <p>When using the transformer dart2js, <code>print("hello world");</code> will result in:</p>
  
  <pre><code>JS('void', r'console.log(#)', "hello world);
  </code></pre>
  
  <p>to be invoked from function: printString(String string)
  residing in the library dart2js._js_primitives</p>
  
  <p>This results that the console.log message always contains the same line number over and over again wherever in the DART code a <code>print();</code> is used. (As console.log will add automatically the filename and line-number to the console display of the wrapper function residing in dart2js._js_primitives)
  As the current implementation of adding file-name and line-number to the console.log message is useless, it would have been nice if there would be another method that allows to display additional information.</p>
  
  <p>As example, <code>print("hello world" __FUNCTION__ __LINE__);</code> would result in additional debug information that can be more useful.</p>