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

Java VoidVisitor类代码示例

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

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



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

示例1: minRoots

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * Returns a minimal subset of {@linkplain #roots(Formula) roots} of the
 * given formula such that all nodes in the given collection are reachable
 * from those roots. The returned subset is a local minimum in that none of
 * its members can be removed without leaving some node in the descendants
 * set unreachable from the remaining roots.
 * 
 * @requires descendants in formula.*components
 * @return { s: Set<Formula> | s.elements in roots(formula) and descendants
 *         in s.elements.*components and no s': Set<Formula> |
 *         s.containsAll(s') and s'.size()<s.size() and descendants in
 *         s.elements.*components }
 * @throws IllegalArgumentException descendants !in formula.*components
 */
public static Set<Formula> minRoots(Formula formula, Collection< ? extends Node> descendants) {

	final Set<Node> desc = new IdentityHashSet<Node>(descendants);
	final VoidVisitor visitor = new AbstractVoidVisitor() {
		final Set<Node> visited = new IdentityHashSet<Node>();

		@Override
		protected boolean visited(Node n) {
			if (visited.add(n)) {
				desc.remove(n);
				return false;
			}
			return true;
		}
	};

	final Set<Formula> roots = new LinkedHashSet<Formula>();
	for (Formula root : roots(formula)) {
		final int size = desc.size();
		root.accept(visitor);
		if (desc.size() < size) {
			roots.add(root);
		}
		if (desc.isEmpty()) {
			break;
		}
	}

	if (!desc.isEmpty())
		throw new IllegalArgumentException(
				"descendants !in formula.*components: formula=" + formula + " ; descendants=" + descendants);

	return roots;
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:49,代码来源:Nodes.java


示例2: minRoots

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * Returns a minimal subset of {@linkplain #roots(Formula) roots} of the given formula such that all nodes in the given collection
 * are reachable from those roots.  The returned subset is a local minimum in that none of its members can be removed without leaving
 * some node in the descendants set unreachable from the remaining roots.
 * @requires descendants in formula.*components
 * @return { s: Set<Formula> | s.elements in roots(formula) and descendants in s.elements.*components and 
 * 				no s': Set<Formula> | s.containsAll(s') and s'.size()<s.size() and descendants in s.elements.*components }
 * @throws IllegalArgumentException - descendants !in formula.*components
 */
public static Set<Formula> minRoots(Formula formula, Collection<? extends Node> descendants) { 
	
	final Set<Node> desc = new IdentityHashSet<Node>(descendants);
	final VoidVisitor visitor = new AbstractVoidVisitor() {
		final Set<Node> visited = new IdentityHashSet<Node>();
		@Override
		protected boolean visited(Node n) {
			if (visited.add(n)) {
				desc.remove(n);
				return false;
			}
			return true;
		}
	};
	
	final Set<Formula> roots = new LinkedHashSet<Formula>();
	for(Formula root : roots(formula)) { 
		final int size = desc.size();
		root.accept(visitor);
		if (desc.size()<size) { roots.add(root); }
		if (desc.isEmpty()) { break; }
	}
	
	if (!desc.isEmpty()) 
		throw new IllegalArgumentException("descendants !in formula.*components: formula="+formula+" ; descendants="+descendants);
	
	return roots;
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:38,代码来源:Nodes.java


示例3: minRoots

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * Returns a minimal subset of {@linkplain #roots(Formula) roots} of the given formula such that all nodes in the given collection
 * are reachable from those roots.  The returned subset is a local minimum in that none of its members can be removed without leaving
 * some node in the descendants set unreachable from the remaining roots.
 * @requires descendants in formula.*components
 * @return { s: Set<Formula> | s.elements in roots(formula) and descendants in s.elements.*components and 
 * 				no s': Set<Formula> | s.containsAll(s') and s'.size()<s.size() and descendants in s.elements.*components }
 * @throws IllegalArgumentException  descendants !in formula.*components
 */
public static Set<Formula> minRoots(Formula formula, Collection<? extends Node> descendants) { 
	
	final Set<Node> desc = new IdentityHashSet<Node>(descendants);
	final VoidVisitor visitor = new AbstractVoidVisitor() {
		final Set<Node> visited = new IdentityHashSet<Node>();
		@Override
		protected boolean visited(Node n) {
			if (visited.add(n)) {
				desc.remove(n);
				return false;
			}
			return true;
		}
	};
	
	final Set<Formula> roots = new LinkedHashSet<Formula>();
	for(Formula root : roots(formula)) { 
		final int size = desc.size();
		root.accept(visitor);
		if (desc.size()<size) { roots.add(root); }
		if (desc.isEmpty()) { break; }
	}
	
	if (!desc.isEmpty()) 
		throw new IllegalArgumentException("descendants !in formula.*components: formula="+formula+" ; descendants="+descendants);
	
	return roots;
}
 
开发者ID:emina,项目名称:kodkod,代码行数:38,代码来源:Nodes.java


示例4: accept

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
@Override
public void accept(VoidVisitor visitor) {
	visitor.visit(this);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:5,代码来源:FixFormula.java


示例5: accept

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * @see kodkod.ast.IntExpression#accept(kodkod.ast.visitor.VoidVisitor)
 */
@Override
public void accept(VoidVisitor visitor) {
	visitor.visit(this);
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:9,代码来源:IfIntExpression.java


示例6: accept

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * @see kodkod.ast.Node#accept(kodkod.ast.visitor.VoidVisitor)
 */
@Override
public void accept(VoidVisitor visitor) {
	visitor.visit(this);
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:9,代码来源:NaryFormula.java


示例7: accept

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * @see kodkod.ast.Node#accept(kodkod.ast.visitor.VoidVisitor)
 */
@Override
public void accept(VoidVisitor visitor) {
	visitor.visit(this);	
}
 
开发者ID:ModelWriter,项目名称:Tarski,代码行数:9,代码来源:NaryExpression.java


示例8: accept

import kodkod.ast.visitor.VoidVisitor; //导入依赖的package包/类
/**
 * {@inheritDoc}
 * 
 * @see kodkod.ast.Node#accept(kodkod.ast.visitor.VoidVisitor)
 */
public void accept(VoidVisitor visitor) {
	visitor.visit(this);
}
 
开发者ID:AlloyTools,项目名称:org.alloytools.alloy,代码行数:9,代码来源:Comprehension.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Java DataObjectRelationship类代码示例发布时间:2022-05-22
下一篇:
Java NetworkRequirement类代码示例发布时间: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