private static SourceSectionFilter combine(SourceSectionFilter filter, Mode mode) { List<Class<?>> tags = new ArrayList<>(); tags.add(StandardTags.RootTag.class); if (mode == Mode.STATEMENTS) { tags.add(StandardTags.StatementTag.class); } return SourceSectionFilter.newBuilder().tagIs(tags.toArray(new Class<?>[0])).and(filter).build(); }
@Override public <T extends ExecuteSourceListener> EventBinding<T> attachExecuteSourceListener(SourceFilter filter, T listener, boolean notifyLoaded) { SourceSectionFilter sectionsFilter = SourceSectionFilter.newBuilder().sourceFilter(filter).build(); return InstrumentationHandler.this.attachExecuteSourceListener(this, sectionsFilter, listener, notifyLoaded); }
@Override public <T extends ExecuteSourceListener> EventBinding<T> attachExecuteSourceListener(SourceFilter filter, T listener, boolean notifyLoaded) { SourceSectionFilter sectionsFilter = SourceSectionFilter.newBuilder().sourceFilter(filter).build(); return InstrumentationHandler.this.attachExecuteSourceListener(this, sectionsFilter, listener, notifyLoaded); }
@Override public <T extends LoadSourceListener> EventBinding<T> attachLoadSourceListener(SourceFilter filter, T listener, boolean notifyLoaded) { SourceSectionFilter sectionsFilter = SourceSectionFilter.newBuilder().sourceFilter(filter).build(); return attachLoadSourceListener(sectionsFilter, listener, notifyLoaded); }
@Override public <T extends LoadSourceListener> EventBinding<T> attachLoadSourceListener(SourceFilter filter, T listener, boolean notifyLoaded) { SourceSectionFilter sectionsFilter = SourceSectionFilter.newBuilder().sourceFilter(filter).build(); return attachLoadSourceListener(sectionsFilter, listener, notifyLoaded); }
static SourceSectionFilter buildFilter(boolean roots, boolean statements, boolean calls, boolean internals, Object[] filterRootName, Object[] filterFile, String filterLanguage) { SourceSectionFilter.Builder builder = SourceSectionFilter.newBuilder(); if (!internals || filterFile != null || filterLanguage != null) { builder.sourceIs(new SourceSectionFilter.SourcePredicate() {
SourceSectionFilter.Builder filterBuilder = SourceSectionFilter.newBuilder().tagIs(tags.toArray(new Class<?>[0])); filterBuilder.includeInternal(false);
private void reset() { if (binding != null) { binding.dispose(); binding = null; } if (isCollecting) { final Builder filterBuilder = SourceSectionFilter.newBuilder(); if (mimeTypes != null) { filterBuilder.mimeTypeIs(mimeTypes); } final SourceSectionFilter filter = filterBuilder.tagIs(StandardTags.RootTag.class).sourceIs(notInternal).build(); binding = instrumenter.attachExecutionEventFactory(filter, new ExecutionEventNodeFactory() { public ExecutionEventNode create(EventContext context) { return createCountingNode(context); } }); } }
@Override SourceSectionFilter createLocationFilter(Source source, SuspendAnchor suspendAnchor) { SourceSectionFilter.Builder f = SourceSectionFilter.newBuilder(); SourceFilter.Builder sourceFilterBuilder = SourceFilter.newBuilder(); if (filter != null) { Predicate<Source> sourcePredicate = filter.getSourcePredicate(); if (sourcePredicate != null) { sourceFilterBuilder.sourceIs(sourcePredicate); } sourceFilterBuilder.includeInternal(filter.isInternalIncluded()); } SourceFilter sourceFilter = sourceFilterBuilder.build(); f.sourceFilter(sourceFilter); setTags(f, sourceElements); return f.build(); }
private EventBinding<? extends ExecutionEventNodeFactory> createBinding(boolean includeInternalCode, Predicate<Source> sFilter, ExecutionEventNodeFactory factory, boolean onInput, Class<?>... tags) { Builder builder = SourceSectionFilter.newBuilder().tagIs(tags); builder.includeInternal(includeInternalCode); if (sFilter != null) { builder.sourceIs(new SourceSectionFilter.SourcePredicate() { @Override public boolean test(Source source) { return sFilter.test(source); } }); } SourceSectionFilter ssf = builder.build(); if (onInput) { return debugger.getInstrumenter().attachExecutionEventFactory(ssf, ssf, factory); } else { return debugger.getInstrumenter().attachExecutionEventFactory(ssf, factory); } }
private EventBinding<? extends ExecutionEventNodeFactory> createBinding(boolean includeInternalCode, Predicate<Source> sFilter, ExecutionEventNodeFactory factory, boolean onInput, Class<?>... tags) { Builder builder = SourceSectionFilter.newBuilder().tagIs(tags); builder.includeInternal(includeInternalCode); if (sFilter != null) { builder.sourceIs(new SourceSectionFilter.SourcePredicate() { @Override public boolean test(Source source) { return sFilter.test(source); } }); } SourceSectionFilter ssf = builder.build(); if (onInput) { return debugger.getInstrumenter().attachExecutionEventFactory(ssf, ssf, factory); } else { return debugger.getInstrumenter().attachExecutionEventFactory(ssf, factory); } }
@Override SourceSectionFilter createLocationFilter(Source source, SuspendAnchor suspendAnchor) { SourceSectionFilter.Builder f = SourceSectionFilter.newBuilder(); if (key == null) { return f.tagIs(DebuggerTags.AlwaysHalt.class).build();
SourceSectionFilter.newBuilder().sourceIs(source).build(), sectionsCollector); SourceSection section = sectionsCollector.getExactSection();
SourceSectionFilter.newBuilder().sourceIs(source).build(), sectionsCollector, true).dispose(); SourceSection section = sectionsCollector.getExactSection();
SourceSectionFilter createLocationFilter(Source source, SuspendAnchor suspendAnchor) { SourceSectionFilter.Builder f = SourceSectionFilter.newBuilder(); if (key == null) { return f.tagIs(DebuggerTags.AlwaysHalt.class).build();