1 package net.sourceforge.pmd.lang.ecmascript.rule;
2
3 import net.sourceforge.pmd.lang.Language;
4 import net.sourceforge.pmd.lang.ParserOptions;
5 import net.sourceforge.pmd.lang.ecmascript.EcmascriptParserOptions;
6 import net.sourceforge.pmd.lang.rule.XPathRule;
7 import net.sourceforge.pmd.lang.rule.properties.BooleanProperty;
8 import net.sourceforge.pmd.lang.rule.properties.EnumeratedProperty;
9
10 public class EcmascriptXPathRule extends XPathRule {
11
12 private static final BooleanProperty RECORDING_COMMENTS_DESCRIPTOR = EcmascriptParserOptions.RECORDING_COMMENTS_DESCRIPTOR;
13 private static final BooleanProperty RECORDING_LOCAL_JSDOC_COMMENTS_DESCRIPTOR = EcmascriptParserOptions.RECORDING_LOCAL_JSDOC_COMMENTS_DESCRIPTOR;
14 private static final EnumeratedProperty<EcmascriptParserOptions.Version> RHINO_LANGUAGE_VERSION = EcmascriptParserOptions.RHINO_LANGUAGE_VERSION;
15
16 public EcmascriptXPathRule() {
17 super.setLanguage(Language.ECMASCRIPT);
18 definePropertyDescriptor(RECORDING_COMMENTS_DESCRIPTOR);
19 definePropertyDescriptor(RECORDING_LOCAL_JSDOC_COMMENTS_DESCRIPTOR);
20 definePropertyDescriptor(RHINO_LANGUAGE_VERSION);
21 }
22
23 @Override
24 public ParserOptions getParserOptions() {
25 return new EcmascriptParserOptions(this);
26 }
27 }