<p dir="auto">I don't know if its a known issue but <code class="notranslate">*if</code> and <code class="notranslate">switch</code> are not working in dart2js (work on Dartium as expected), Chrome console throws an Invalid argument(s) error.</p>
<p dir="auto">example app:</p>
<div class="highlight highlight-source-dart notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import 'package:angular2/angular2.dart';

// These imports will go away soon:
import 'package:angular2/src/reflection/reflection.dart' show reflector;
import 'package:angular2/src/reflection/reflection_capabilities.dart'
show ReflectionCapabilities;

void main() {
  // Temporarily needed.
  reflector.reflectionCapabilities = new ReflectionCapabilities();
  bootstrap(App);
}


@Component(selector: 'app')
@View(template: '&lt;p *if=&quot;show&quot;&gt;test&lt;/p&gt;', directives: const [If])
class App {
  bool show = true;
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s">'package:angular2/angular2.dart'</span>;

<span class="pl-c">// These imports will go away soon:</span>
<span class="pl-k">import</span> <span class="pl-s">'package:angular2/src/reflection/reflection.dart'</span> <span class="pl-k">show</span> reflector;
<span class="pl-k">import</span> <span class="pl-s">'package:angular2/src/reflection/reflection_capabilities.dart'</span>
<span class="pl-k">show</span> ReflectionCapabilities;

<span class="pl-k">void</span> <span class="pl-en">main</span>() {
  <span class="pl-c">// Temporarily needed.</span>
  reflector.reflectionCapabilities <span class="pl-k">=</span> <span class="pl-k">new</span> <span class="pl-c1">ReflectionCapabilities</span>();
  <span class="pl-en">bootstrap</span>(<span class="pl-c1">App</span>);
}


<span class="pl-k">@Component</span>(selector<span class="pl-k">:</span> <span class="pl-s">'app'</span>)
<span class="pl-k">@View</span>(template<span class="pl-k">:</span> <span class="pl-s">'&lt;p *if="show"&gt;test&lt;/p&gt;'</span>, directives<span class="pl-k">:</span> <span class="pl-k">const</span> [<span class="pl-c1">If</span>])
<span class="pl-k">class</span> <span class="pl-c1">App</span> {
  <span class="pl-c1">bool</span> show <span class="pl-k">=</span> <span class="pl-c1">true</span>;
}</pre></div>
<p dir="auto">Produces the following error:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="Uncaught Uncaught Error: Invalid argument(s): &quot;if&quot; is not a valid (qualified) symbol name
Stack Trace:
Invalid argument(s): &quot;if&quot; is not a valid (qualified) symbol name
    at dart.wrapException (http://localhost:63342/ng2_bug_if/web/main.dart.js:3963:15)
    at dart.Symbol.static.Symbol_validatePublicSymbol (http://localhost:63342/ng2_bug_if/web/main.dart.js:23817:17)
    at ReflectionCapabilities.dart.ReflectionCapabilities.setter$1 (http://localhost:63342/ng2_bug_if/web/main.dart.js:87285:73)
    at Reflector.dart.Reflector.setter$1 (http://localhost:63342/ng2_bug_if/web/main.dart.js:17795:44)
    at dart.setterFactory (http://localhost:63342/ng2_bug_if/web/main.dart.js:20821:71)
    at ElementBinderBuilder.dart.ElementBinderBuilder.bindProperty$2 (http://localhost:63342/ng2_bug_if/web/main.dart.js:21158:53)
    at ViewSplitter.dart.ViewSplitter._parseTemplateBindings$2 (http://localhost:63342/ng2_bug_if/web/main.dart.js:19214:44)
    at ViewSplitter.dart.ViewSplitter.process$3 (http://localhost:63342/ng2_bug_if/web/main.dart.js:19181:16)
    at CompileControl.dart.CompileControl.internalProcess$4 (http://localhost:63342/ng2_bug_if/web/main.dart.js:18026:14)
    at CompilePipeline.&lt;anonymous&gt; (http://localhost:63342/ng2_bug_if/web/main.dart.js:18186:60)"><pre class="notranslate">Uncaught <span class="pl-v">Uncaught</span> <span class="pl-v">Error</span>: <span class="pl-v">Invalid</span> <span class="pl-en">argument</span><span class="pl-kos">(</span><span class="pl-s1">s</span><span class="pl-kos">)</span>: <span class="pl-s">"if"</span> <span class="pl-s1">is</span> <span class="pl-s1">not</span> <span class="pl-s1">a</span> <span class="pl-en">valid</span> <span class="pl-kos">(</span><span class="pl-s1">qualified</span><span class="pl-kos">)</span> <span class="pl-s1">symbol</span> <span class="pl-s1">name</span>
Stack <span class="pl-v">Trace</span>:
<span class="pl-v">Invalid</span> <span class="pl-en">argument</span><span class="pl-kos">(</span><span class="pl-s1">s</span><span class="pl-kos">)</span>: <span class="pl-s">"if"</span> <span class="pl-s1">is</span> <span class="pl-s1">not</span> <span class="pl-s1">a</span> <span class="pl-en">valid</span> <span class="pl-kos">(</span><span class="pl-s1">qualified</span><span class="pl-kos">)</span> <span class="pl-s1">symbol</span> <span class="pl-s1">name</span>
    <span class="pl-s1">at</span> <span class="pl-s1">dart</span><span class="pl-kos">.</span><span class="pl-c1">wrapException</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:3963:15)</span>
    <span class="pl-s1">at</span> <span class="pl-s1">dart</span><span class="pl-kos">.</span><span class="pl-c1">Symbol</span><span class="pl-kos">.</span><span class="pl-c1">static</span><span class="pl-kos">.</span><span class="pl-c1">Symbol_validatePublicSymbol</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:23817:17)</span>
    <span class="pl-s1">at</span> <span class="pl-v">ReflectionCapabilities</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">ReflectionCapabilities</span><span class="pl-kos">.</span><span class="pl-c1">setter$1</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:87285:73)</span>
    <span class="pl-s1">at</span> <span class="pl-v">Reflector</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">Reflector</span><span class="pl-kos">.</span><span class="pl-c1">setter$1</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:17795:44)</span>
    <span class="pl-s1">at</span> <span class="pl-s1">dart</span><span class="pl-kos">.</span><span class="pl-c1">setterFactory</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:20821:71)</span>
    <span class="pl-s1">at</span> <span class="pl-v">ElementBinderBuilder</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">ElementBinderBuilder</span><span class="pl-kos">.</span><span class="pl-c1">bindProperty$2</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:21158:53)</span>
    <span class="pl-s1">at</span> <span class="pl-v">ViewSplitter</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">ViewSplitter</span><span class="pl-kos">.</span><span class="pl-c1">_parseTemplateBindings$2</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:19214:44)</span>
    <span class="pl-s1">at</span> <span class="pl-v">ViewSplitter</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">ViewSplitter</span><span class="pl-kos">.</span><span class="pl-c1">process$3</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:19181:16)</span>
    <span class="pl-s1">at</span> <span class="pl-v">CompileControl</span><span class="pl-kos">.</span><span class="pl-c1">dart</span><span class="pl-kos">.</span><span class="pl-c1">CompileControl</span><span class="pl-kos">.</span><span class="pl-c1">internalProcess$4</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:18026:14)</span>
    <span class="pl-s1">at</span> <span class="pl-v">CompilePipeline</span><span class="pl-kos">.</span><span class="pl-c1">&lt;</span><span class="pl-s1">anonymous</span><span class="pl-c1">&gt;</span> <span class="pl-kos">(</span><span class="pl-s1">http</span>:<span class="pl-c">//localhost:63342/ng2_bug_if/web/main.dart.js:18186:60)</span></pre></div>
<p dir="auto">Tested on alpha 20</p>
<p dir="auto">This came up originally in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="67193459" data-permission-text="Title is private" data-url="https://github.com/angular/angular/issues/1267" data-hovercard-type="pull_request" data-hovercard-url="/angular/angular/pull/1267/hovercard" href="https://github.com/angular/angular/pull/1267">#1267</a> where the <code class="notranslate">Compiler</code> was requesting a setter for <code class="notranslate">if</code> from the template defined on App in <a href="https://github.com/angular/angular/blob/master/modules/benchmarks/src/naive_infinite_scroll/app.js#L94">this file</a>.</p>
<p dir="auto">Flagging <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yjbanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yjbanov">@yjbanov</a> here since he has more context than I do.</p>