• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java XPath类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.antlr.v4.runtime.tree.xpath.XPath的典型用法代码示例。如果您正苦于以下问题:Java XPath类的具体用法?Java XPath怎么用?Java XPath使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



XPath类属于org.antlr.v4.runtime.tree.xpath包,在下文中一共展示了XPath类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getAlterTableIdentifiers

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public ResolvedTableNames getAlterTableIdentifiers() {
	Check.isTrue(statementType == StatementType.ALTER);

	FusionTablesSqlParser parser = getParser();
	VerboseErrorListener errorListener = Util.addVerboseErrorListener(parser);

	String xpath = "//alter_table_stmt//string_literal";
	Iterator<ParseTree> names = XPath.findAll(parser.fusionTablesSql(), xpath, parser).iterator();

	String nameFrom = null;
	String nameTo = null;

	nameFrom = StringUtil.stripQuotes(getNextTerminal(names, parser));
	nameTo = StringUtil.stripQuotes(getNextTerminal(names, parser));

	return resolveTableNames(nameFrom, nameTo, errorListener.getErrors());
}
 
开发者ID:curiosag,项目名称:ftc,代码行数:18,代码来源:QueryManipulator.java


示例2: add_new_AST_node

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void add_new_AST_node()
    throws Exception
{
    Java8Parser parser = buildParser();
    ParseTree tree = buildAST(parser);
    Assert.assertNotNull(tree);

    String myType = ASTHelperTest.class.getName();

    ASTHelper astHelper = new ASTHelper(tree);
    astHelper.addImport(myType);

    Collection<ParseTree> imports = XPath.findAll(tree, "//importDeclaration", parser);
    Assert.assertNotNull(imports);
    boolean found = false;

    for (ParseTree node : imports) {
        if (("import" + myType + ";").equals(node.getText())) {
            found = true;
            break;
        }
    }
    Assert.assertTrue(found);
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:26,代码来源:ASTHelperTest.java


示例3: testUnicode

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void testUnicode() throws Exception {
   QueryParser parser = getParser("törmÈ ዩኒኮድ ምንድን ነው? ดินสอ 铅笔 قلم עפרון");

   Collection<ParseTree> trees = XPath.findAll(parser.query(), "//termQuery", parser);
   assertThat(trees, hasSize(8));
   assertThat(trees, hasItem(text("törmÈ")));
   assertThat(trees, hasItem(text("ዩኒኮድ")));
   assertThat(trees, hasItem(text("ምንድን")));
   assertThat(trees, hasItem(text("ነው?")));
   assertThat(trees, hasItem(text("ดินสอ")));
   assertThat(trees, hasItem(text("铅笔")));
   assertThat(trees, hasItem(text("עפרון")));
   assertThat(trees, hasItem(text("قلم")));

}
 
开发者ID:renekrie,项目名称:querqy,代码行数:17,代码来源:QueryGrammarTest.java


示例4: getRuleDefNameNode

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public static TerminalNode getRuleDefNameNode(Parser parser, ParseTree tree, String ruleName) {
	Collection<ParseTree> ruleDefRuleNodes;
	if ( Grammar.isTokenName(ruleName) ) {
		ruleDefRuleNodes = XPath.findAll(tree, "//lexerRule/TOKEN_REF", parser);
	}
	else {
		ruleDefRuleNodes = XPath.findAll(tree, "//parserRuleSpec/RULE_REF", parser);
	}
	for (ParseTree node : ruleDefRuleNodes) {
		String r = node.getText(); // always a TerminalNode; just get rule name of this def
		if ( r.equals(ruleName) ) {
			return (TerminalNode)node;
		}
	}
	return null;
}
 
开发者ID:antlr,项目名称:intellij-plugin-v4,代码行数:17,代码来源:RefactorUtils.java


示例5: getAllRuleRefNodes

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public static List<TerminalNode> getAllRuleRefNodes(Parser parser, ParseTree tree, String ruleName) {
	List<TerminalNode> nodes = new ArrayList<TerminalNode>();
	Collection<ParseTree> ruleRefs;
	if ( Grammar.isTokenName(ruleName) ) {
		ruleRefs = XPath.findAll(tree, "//lexerRuleBlock//TOKEN_REF", parser);
	}
	else {
		ruleRefs = XPath.findAll(tree, "//ruleBlock//RULE_REF", parser);
	}
	for (ParseTree node : ruleRefs) {
		TerminalNode terminal = (TerminalNode)node;
		Token rrefToken = terminal.getSymbol();
		String r = rrefToken.getText();
		if ( r.equals(ruleName) ) {
			nodes.add(terminal);
		}
	}
	if ( nodes.size()==0 ) return null;
	return nodes;
}
 
开发者ID:antlr,项目名称:intellij-plugin-v4,代码行数:21,代码来源:RefactorUtils.java


示例6: treeXpath

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public void treeXpath() {
	FusionTablesSqlParser parser = getParserStuff().parser;
	String xpath = "//sql_stmt";

	for (ParseTree t : XPath.findAll(parser.fusionTablesSql(), xpath, parser))
		System.out.println(Util.getSqlStatementType(t, parser).name());

}
 
开发者ID:curiosag,项目名称:ftc,代码行数:9,代码来源:TestQueryManipulation.java


示例7: getStatementType

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@SuppressWarnings("unused")
private StatementType getStatementType(FusionTablesSqlParser parser) {
	String xpath = "//" + Const.rulename_sql_stmt;

	Collection<ParseTree> s = XPath.findAll(parser.fusionTablesSql(), xpath, parser);
	if (s.size() == 0)
		return StatementType.UNKNOWN;
	else
		return Util.getSqlStatementType(s.iterator().next(), parser);
}
 
开发者ID:curiosag,项目名称:ftc,代码行数:11,代码来源:QueryManipulator.java


示例8: getTableAliases

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public DiggedAliases getTableAliases() {
	Map<String, String> result = new HashMap<String, String>();
	FusionTablesSqlParser parser = getParser();
	VerboseErrorListener errorListener = Util.addVerboseErrorListener(parser);

	String xpath = "//table_name_with_alias";
	Iterator<ParseTree> trees = XPath.findAll(parser.fusionTablesSql(), xpath, parser).iterator();
	while (trees.hasNext()) {
		ParseTree parseTree = trees.next();
		addAlias(result, parseTree);
	}
	return new DiggedAliases(result, errorListener.getErrors());
}
 
开发者ID:curiosag,项目名称:ftc,代码行数:14,代码来源:QueryManipulator.java


示例9: retrieveReturnTypesOfMethods

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public List<String> retrieveReturnTypesOfMethods(ParseTree tree, Java8Parser parser)
{
    List<String> result = new ArrayList<>();

    for (ParseTree node : XPath.findAll(tree, "//methodHeader", parser))
    {
        ParseTreeWalker walker = new ParseTreeWalker();
        ReturnTypesOfMethodsListener listener = new ReturnTypesOfMethodsListener();
        walker.walk(listener, node.getChild(0));
        result.addAll(listener.getReturnTypesOfMethods());
    }

    return result;
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:15,代码来源:MethodHelper.java


示例10: retrieveReturnTypesOfMethodsXpath

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public List<String> retrieveReturnTypesOfMethodsXpath(ParseTree tree, Java8Parser parser)
{
    List<String> result = new ArrayList<>();

    for (ParseTree node : XPath.findAll(tree, "//methodHeader/result//*/!typeArguments", parser)) {
        if (node instanceof TerminalNode) {
            result.add(((TerminalNode) node).getText());
        } else {
            result.add(node.getText());
        }
    }

    return result;
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:15,代码来源:MethodHelper.java


示例11: initialize

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
protected void initialize(String input)
{
    StringTemplateCSSLexer lexer = new StringTemplateCSSLexer(new ANTLRInputStream(input));

    CommonTokenStream tokens = new CommonTokenStream(lexer);

    StringTemplateCSSParser parser = new StringTemplateCSSParser(tokens);

    parser.setErrorHandler(new BailErrorStrategy());

    ParseTree tree = parser.css();

    Collection<ParseTree> selectorCombinations = XPath.findAll(tree, "//selectorCombination", parser);

    final StringUtils stringUtils = StringUtils.getInstance();

    this.selectors = new ArrayList<List<String>>(selectorCombinations.size());
    this.properties = new HashMap<List<String>, Map<String, String>>();

    for (ParseTree selectorCombination : selectorCombinations) {
        List<String> currentSelectors = new ArrayList<String>(selectorCombination.getChildCount());
        this.selectors.add(currentSelectors);

        for (int index = 0; index < selectorCombination.getChildCount(); index++) {
            String text = selectorCombination.getChild(index).getText();
            currentSelectors.add(text);
        }
        Map<String, String> block = retrieveProperties(selectorCombination, stringUtils);

        this.properties.put(currentSelectors, block);
    }
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:33,代码来源:StringTemplateCSSHelper.java


示例12: compares_selectors_correctly

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void compares_selectors_correctly() {
    String javaInput = "package com.foo.bar;";

    Java8Lexer lexer = new Java8Lexer(new ANTLRInputStream(javaInput));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    Java8Parser parser = new Java8Parser(tokens);
    ParseTree ast = parser.compilationUnit();

    Collection<ParseTree> matches = XPath.findAll(ast, "//';'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree semiColon = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(semiColon);

    matches = XPath.findAll(ast, "//'package'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree packageNode = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(packageNode);

    List<String> selectors = Arrays.asList(".packageDeclaration", "\";\"::before");

    SelectorMatchVisitor visitor = new SelectorMatchVisitor(selectors, ast);

    Assert.assertTrue(visitor.matches(ast.getChild(0), ".packageDeclaration"));
    Assert.assertTrue(visitor.matches(semiColon, "\";\"::before"));
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:33,代码来源:SelectorMatchVisitorTest.java


示例13: selector_found

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void selector_found(){
    String javaInput = "package com.foo.bar;";

    String cssInput =
        ".packageDeclaration \";\"::before {\n"
        + "   content: \" \";\n"
        + "}\n";

    StringTemplateCSSHelper helper = new StringTemplateCSSHelper(cssInput);

    Java8Lexer lexer = new Java8Lexer(new ANTLRInputStream(javaInput));
    CommonTokenStream tokens = new CommonTokenStream(lexer);
    Java8Parser parser = new Java8Parser(tokens);
    ParseTree ast = parser.compilationUnit();

    Collection<ParseTree> matches = XPath.findAll(ast, "//';'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree semiColon = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(semiColon);

    matches = XPath.findAll(ast, "//'package'", parser);

    Assert.assertNotNull(matches);
    Assert.assertEquals(1, matches.size());

    ParseTree packageNode = matches.toArray(new ParseTree[1])[0];
    Assert.assertNotNull(packageNode);

    List<String> selectors = Arrays.asList(".packageDeclaration", "\";\"::before");

    Assert.assertTrue(helper.match(selectors, semiColon, ast));
    Assert.assertFalse(helper.match(selectors, packageNode, ast));
}
 
开发者ID:rydnr,项目名称:JavaCSS,代码行数:38,代码来源:StringTemplateCSSHelperTest.java


示例14: justTestIt

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void justTestIt() throws Exception {
	HqlParser parser = HqlParseTreeBuilder.INSTANCE.parseHql( "select a.b from Something a where a.c = '1'" );

	Collection<ParseTree> fromClauses = XPath.findAll( parser.statement(), "//fromClause", parser );
	assertEquals( 1, fromClauses.size() );
}
 
开发者ID:hibernate,项目名称:hibernate-semantic-query,代码行数:8,代码来源:HqlParserTest.java


示例15: testIndexAccess

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Test
public void testIndexAccess() throws Exception {
	final String qry = "select o from Order o where o.items[0].id = 1234";

	HqlParser parser = HqlParseTreeBuilder.INSTANCE.parseHql( qry );

	Collection<ParseTree> fromClauses = XPath.findAll( parser.statement(), "//fromClause", parser );
	assertEquals( 1, fromClauses.size() );
}
 
开发者ID:hibernate,项目名称:hibernate-semantic-query,代码行数:10,代码来源:HqlParserTest.java


示例16: validateDateTimeLiteralInEqualityPredicate

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
/**
 * Pass in a parse tree that has exactly one equality predicate with the right hand operand being the expected literal
 */
private void validateDateTimeLiteralInEqualityPredicate(HqlParser parser, DateTimeLiteralType expectedType) {
	Collection<ParseTree> predicates = XPath.findAll( parser.statement(), "//predicate", parser );
	assertEquals( 1, predicates.size() );

	EqualityPredicateContext predicate = (EqualityPredicateContext) predicates.iterator().next();
	// predicate[1] -> the literal
	assertTrue( predicate.expression( 1 ) instanceof LiteralExpressionContext );

	LiteralExpressionContext lec = (LiteralExpressionContext) predicate.expression( 1 );
	DateTimeLiteralType found = lec.literal().accept( new DateTimeLiteralCategorizingVisitor() );

	assertEquals( expectedType, found );
}
 
开发者ID:hibernate,项目名称:hibernate-semantic-query,代码行数:17,代码来源:HqlParserTest.java


示例17: parse

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Override
public ParsingResult parse(CommonTokenStream tokens) {
	STGParser parser = new STGParser(tokens);
	parser.removeErrorListeners();
	ParserErrorListener errorListener = new ParserErrorListener();
	parser.addErrorListener(errorListener);
	ParserRuleContext tree = parser.group();
	final Collection<ParseTree> delimiterStrings = XPath.findAll(tree, "//delimiters/STRING", parser);
	int i = 0;
	for (ParseTree s : delimiterStrings) {
		delimiters[i++] = s.getText().charAt(1);
	}
	return new ParsingResult(parser, tree, errorListener);
}
 
开发者ID:antlr,项目名称:jetbrains-plugin-st4,代码行数:15,代码来源:STGroupSyntaxHighlighter.java


示例18: highlightTree

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
@Override
public void highlightTree(ParserRuleContext tree, Parser parser) {
	final Collection<ParseTree> ids = XPath.findAll(tree, "//primary/ID", parser);
	for (ParseTree id : ids) {
		TerminalNode tnode = (TerminalNode)id;
		highlightToken(tnode.getSymbol(), new TextAttributesKey[]{ST_ID});
	}
}
 
开发者ID:antlr,项目名称:jetbrains-plugin-st4,代码行数:9,代码来源:STSyntaxHighlighter.java


示例19: MarkdownTranslator

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
public MarkdownTranslator(ParseTree tree, MarkdownParser parser) {
	this.tree = tree;
	this.parser = parser;
	// Collect reference to be used for links and images.
	for (ParseTree t: XPath.findAll(tree, "//reference", parser) ) {
		MarkdownParser.ReferenceContext reference = (MarkdownParser.ReferenceContext)t;
		references.put(reference.referenceLabel().referenceId().getText().toLowerCase(), reference);
	}
}
 
开发者ID:mar9000,项目名称:antmark,代码行数:10,代码来源:MarkdownTranslator.java


示例20: findAll

import org.antlr.v4.runtime.tree.xpath.XPath; //导入依赖的package包/类
/**
 * Find all nodes using XPath and then try to match those subtrees against
 * this tree pattern.
 *
 * @param tree The {@link ParseTree} to match against this pattern.
 * @param xpath An expression matching the nodes
 *
 * @return A collection of {@link ParseTreeMatch} objects describing the
 * successful matches. Unsuccessful matches are omitted from the result,
 * regardless of the reason for the failure.
 */
@NotNull
public List<ParseTreeMatch> findAll(@NotNull ParseTree tree, @NotNull String xpath) {
	Collection<ParseTree> subtrees = XPath.findAll(tree, xpath, matcher.getParser());
	List<ParseTreeMatch> matches = new ArrayList<ParseTreeMatch>();
	for (ParseTree t : subtrees) {
		ParseTreeMatch match = match(t);
		if ( match.succeeded() ) {
			matches.add(match);
		}
	}
	return matches;
}
 
开发者ID:MegaApuTurkUltra,项目名称:Scratch-ApuC,代码行数:24,代码来源:ParseTreePattern.java



注:本文中的org.antlr.v4.runtime.tree.xpath.XPath类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MiningModel类代码示例发布时间:2022-05-22
下一篇:
Java Messagebox类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap