当前位置: 首页>>代码示例>>Java>>正文


Java AbstractGemocDebugger.setMutableFieldExtractors方法代码示例

本文整理汇总了Java中org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger.setMutableFieldExtractors方法的典型用法代码示例。如果您正苦于以下问题:Java AbstractGemocDebugger.setMutableFieldExtractors方法的具体用法?Java AbstractGemocDebugger.setMutableFieldExtractors怎么用?Java AbstractGemocDebugger.setMutableFieldExtractors使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger的用法示例。


在下文中一共展示了AbstractGemocDebugger.setMutableFieldExtractors方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getDebugger

import org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger; //导入方法依赖的package包/类
@Override
protected IDSLDebugger getDebugger(ILaunchConfiguration configuration, DSLDebugEventDispatcher dispatcher,
		EObject firstInstruction, IProgressMonitor monitor) {

	IExecutionEngine engine = (IExecutionEngine) _executionEngine;
	AbstractGemocDebugger res;
	Set<IMultiDimensionalTraceAddon> traceAddons = _executionEngine
			.getAddonsTypedBy(IMultiDimensionalTraceAddon.class);

	// We don't want to use trace managers that only work with a subset of
	// the execution state
	traceAddons.removeIf(traceAddon -> {
		return traceAddon.getTraceConstructor() != null && traceAddon.getTraceConstructor().isPartialTraceConstructor();
	});

	if (traceAddons.isEmpty()) {
		res = new GenericSequentialModelDebugger(dispatcher, engine);
	} else {
		res = new OmniscientGenericSequentialModelDebugger(dispatcher, engine);
	}
	// We create a list of all mutable data extractors we want to try
	List<IMutableFieldExtractor> extractors = new ArrayList<IMutableFieldExtractor>();
	// We put annotation first
	extractors.add(new AnnotationMutableFieldExtractor());
	// Then introspection
	extractors.add(new IntrospectiveMutableFieldExtractor(_executionEngine.getExecutionContext()
			.getRunConfiguration().getLanguageName()));
	res.setMutableFieldExtractors(extractors);

	// If in the launch configuration it is asked to pause at the start,
	// we add this dummy break
	try {
		if (configuration.getAttribute(RunConfiguration.LAUNCH_BREAK_START, false)) {
			res.addPredicateBreak(new BiPredicate<IExecutionEngine, MSEOccurrence>() {
				@Override
				public boolean test(IExecutionEngine t, MSEOccurrence u) {
					return true;
				}
			});
		}
	} catch (CoreException e) {
		Activator.error(e.getMessage(), e);
	}

	_executionEngine.getExecutionContext().getExecutionPlatform().addEngineAddon(res);
	return res;
}
 
开发者ID:eclipse,项目名称:gemoc-studio-modeldebugging,代码行数:48,代码来源:Launcher.java


注:本文中的org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger.setMutableFieldExtractors方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。