anchor.diff:      } else {
         super.visitElement(node);
       }
  +    _inPolymerJs = lastInPolymerJs;
     }
   
     void visitText(Text node) {
  -    if (!_inTemplate) return;
  +    // Nothing here applies if inside a polymer js element
  +    if (!_inTemplate || _inPolymerJs) return;
       var bindings = _Mustaches.parse(node.data);
       if (bindings == null) return;
       for (var e in bindings.expressions) {
  
positive.code:   final _SubExpressionVisitor expressionVisitor;
    final BuildLogger logger;
    bool _inTemplate = false;
  
    _HtmlExtractor(this.logger, this.generator, this.publishedAttributes,
        this.expressionVisitor);
  
    void visitElement(Element node) {
      if (_inTemplate) _processNormalElement(node);
      if (node.localName == 'polymer-element') {
        _processPolymerElement(node);
        _processNormalElement(node);
      }
  
negative.code: 
    /// Registers getters and setters for all published attributes.
    void _processPolymerElement(Element node) {
      // Nothing here applies if inside a polymer js element
      if (_inPolymerJs) return;
  
      var tagName = node.attributes['name'];
      var value = node.attributes['attributes'];
      if (value != null) {
  