本文整理汇总了Java中org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger类的典型用法代码示例。如果您正苦于以下问题:Java AbstractGemocDebugger类的具体用法?Java AbstractGemocDebugger怎么用?Java AbstractGemocDebugger使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AbstractGemocDebugger类属于org.eclipse.gemoc.executionframework.debugger包,在下文中一共展示了AbstractGemocDebugger类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDebugger
import org.eclipse.gemoc.executionframework.debugger.AbstractGemocDebugger; //导入依赖的package包/类
@Override
protected IDSLDebugger getDebugger(ILaunchConfiguration configuration,
DSLDebugEventDispatcher dispatcher, EObject firstInstruction,
IProgressMonitor monitor) {
AbstractGemocDebugger res = null;
if (heterogeneousEngine instanceof HeterogeneousEngine) {
res = new GemocModelDebugger(dispatcher, heterogeneousEngine);
}
heterogeneousEngine.getExecutionContext().getExecutionPlatform().addEngineAddon(res);
return res;
}
示例2: 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;
}