001    package com.google.dart.compiler.backend.js.ast;
002    
003    import org.jetbrains.annotations.NotNull;
004    
005    import java.util.Collections;
006    import java.util.Map;
007    
008    public class JsDocComment extends JsExpressionImpl {
009        private final Map<String, Object> tags;
010    
011        public JsDocComment(Map<String, Object> tags) {
012            this.tags = tags;
013        }
014    
015        public Map<String, Object> getTags() {
016            return tags;
017        }
018    
019        public JsDocComment(String tagName, JsNameRef tagValue) {
020            tags = Collections.<String, Object>singletonMap(tagName, tagValue);
021        }
022    
023        public JsDocComment(String tagName, String tagValue) {
024            tags = Collections.<String, Object>singletonMap(tagName, tagValue);
025        }
026    
027        @Override
028        public void accept(JsVisitor v) {
029            v.visitDocComment(this);
030        }
031    
032        @Override
033        public void traverse(JsVisitorWithContext v, JsContext ctx) {
034        }
035    
036        @NotNull
037        @Override
038        public JsDocComment deepCopy() {
039            return new JsDocComment(tags).withMetadataFrom(this);
040        }
041    }