mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 08:55:25 +02:00
Bug 572594: Avoid using generic Consumer interface
Using the Consumer interface means that code navigation is substantially harder. e.g. open ImportMemoryDialog and do a call hierarchy on who calls scrollRenderings. You end up in Consumer.accept, which (naturally) has 100s of callers, so identifying which ones are relevant is very difficult. Change-Id: I8817568e992955d5b01a591a9cffb2447b9e5008
This commit is contained in:
parent
f89c3c3003
commit
48156b4653
12 changed files with 49 additions and 32 deletions
|
@ -16,9 +16,10 @@ package org.eclipse.cdt.debug.core.memory.tests;
|
|||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
final class CollectScrolls implements Consumer<BigInteger> {
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
|
||||
final class CollectScrolls implements IScrollMemory {
|
||||
|
||||
private final List<BigInteger> collected;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Automatic-Module-Name: org.eclipse.cdt.debug.core.memory
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-SymbolicName: org.eclipse.cdt.debug.core.memory
|
||||
Bundle-Version: 0.1.100.qualifier
|
||||
Bundle-Version: 0.1.200.qualifier
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
|
|
|
@ -17,7 +17,6 @@ import java.io.File;
|
|||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.Messages;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
|
@ -39,11 +38,11 @@ public abstract class FileImport<I extends AutoCloseable> implements ICoreRunnab
|
|||
protected final BigInteger base;
|
||||
protected final BigInteger start;
|
||||
protected final WriteMemory write;
|
||||
protected final Consumer<BigInteger> scroll;
|
||||
protected final IScrollMemory scroll;
|
||||
|
||||
private final File file;
|
||||
|
||||
protected FileImport(File input, ImportRequest request, Consumer<BigInteger> scroll) {
|
||||
protected FileImport(File input, ImportRequest request, IScrollMemory scroll) {
|
||||
this.file = input;
|
||||
this.base = request.base();
|
||||
this.start = request.start();
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2020 Kichwa Coders Canada Inc. and others.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.debug.core.memory.transport;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface IScrollMemory {
|
||||
void accept(BigInteger t);
|
||||
|
||||
static IScrollMemory ignore() {
|
||||
return t -> {
|
||||
// ignore
|
||||
};
|
||||
}
|
||||
|
||||
}
|
|
@ -22,9 +22,9 @@ import java.io.IOException;
|
|||
import java.io.InputStreamReader;
|
||||
import java.math.BigInteger;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.FileImport;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
|
@ -34,7 +34,7 @@ import org.osgi.framework.FrameworkUtil;
|
|||
|
||||
public final class PlainTextImport extends FileImport<BufferedReader> {
|
||||
|
||||
public PlainTextImport(File input, ImportRequest request, Consumer<BigInteger> scroll) {
|
||||
public PlainTextImport(File input, ImportRequest request, IScrollMemory scroll) {
|
||||
super(input, request, scroll);
|
||||
}
|
||||
|
||||
|
|
|
@ -19,16 +19,16 @@ import java.io.FileInputStream;
|
|||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.FileImport;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.debug.core.DebugException;
|
||||
|
||||
public final class RAWBinaryImport extends FileImport<FileInputStream> {
|
||||
|
||||
public RAWBinaryImport(File input, ImportRequest request, Consumer<BigInteger> scroll) {
|
||||
public RAWBinaryImport(File input, ImportRequest request, IScrollMemory scroll) {
|
||||
super(input, request, scroll);
|
||||
}
|
||||
|
||||
|
|
|
@ -21,9 +21,9 @@ import java.io.FileNotFoundException;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.FileImport;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
|
@ -35,7 +35,7 @@ public class SRecordImport extends FileImport<BufferedReader> {
|
|||
|
||||
private final boolean transfer;
|
||||
|
||||
public SRecordImport(File input, ImportRequest request, Consumer<BigInteger> scroll, boolean transfer) {
|
||||
public SRecordImport(File input, ImportRequest request, IScrollMemory scroll, boolean transfer) {
|
||||
super(input, request, scroll);
|
||||
this.transfer = transfer;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: org.eclipse.cdt.debug.ui.memory.transport;singleton:=true
|
||||
Bundle-Version: 2.2.0.qualifier
|
||||
Bundle-Version: 2.2.100.qualifier
|
||||
Bundle-Localization: plugin
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.cdt.debug.core.memory;bundle-version="0.1.0",
|
||||
|
|
|
@ -14,11 +14,11 @@
|
|||
package org.eclipse.cdt.debug.internal.ui.memory.transport;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.ui.memory.transport.ImportMemoryDialog;
|
||||
|
||||
public final class ScrollMemory implements Consumer<BigInteger> {
|
||||
public final class ScrollMemory implements IScrollMemory {
|
||||
|
||||
private final ImportMemoryDialog dialog;
|
||||
|
||||
|
@ -31,12 +31,4 @@ public final class ScrollMemory implements Consumer<BigInteger> {
|
|||
dialog.scrollRenderings(address);
|
||||
}
|
||||
|
||||
public static class Ignore implements Consumer<BigInteger> {
|
||||
|
||||
@Override
|
||||
public void accept(BigInteger t) {
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,11 +17,11 @@ package org.eclipse.cdt.debug.ui.memory.transport;
|
|||
|
||||
import java.io.File;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.PlainTextImport;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter;
|
||||
|
@ -265,7 +265,7 @@ public class PlainTextImporter implements IMemoryImporter {
|
|||
@Override
|
||||
public void importMemory() {
|
||||
try {
|
||||
Consumer<BigInteger> scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : new ScrollMemory.Ignore();
|
||||
IScrollMemory scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : IScrollMemory.ignore();
|
||||
IMemoryBlockExtension block = (IMemoryBlockExtension) fMemoryBlock;
|
||||
ImportRequest request = new ImportRequest(block.getBigBaseAddress(), fStartAddress,
|
||||
new WriteMemoryBlock(block));
|
||||
|
|
|
@ -17,11 +17,11 @@ package org.eclipse.cdt.debug.ui.memory.transport;
|
|||
|
||||
import java.io.File;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.RAWBinaryImport;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter;
|
||||
|
@ -248,7 +248,7 @@ public class RAWBinaryImporter implements IMemoryImporter {
|
|||
@Override
|
||||
public void importMemory() {
|
||||
try {
|
||||
Consumer<BigInteger> scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : new ScrollMemory.Ignore();
|
||||
IScrollMemory scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : IScrollMemory.ignore();
|
||||
IMemoryBlockExtension block = (IMemoryBlockExtension) fMemoryBlock;
|
||||
ImportRequest request = new ImportRequest(block.getBigBaseAddress(), fStartAddress,
|
||||
new WriteMemoryBlock(block));
|
||||
|
|
|
@ -17,11 +17,11 @@ package org.eclipse.cdt.debug.ui.memory.transport;
|
|||
|
||||
import java.io.File;
|
||||
import java.math.BigInteger;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.debug.core.memory.transport.IScrollMemory;
|
||||
import org.eclipse.cdt.debug.core.memory.transport.ImportRequest;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.SRecordImport;
|
||||
import org.eclipse.cdt.debug.internal.core.memory.transport.TransportJob;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.ScrollMemory;
|
||||
import org.eclipse.cdt.debug.internal.ui.memory.transport.WriteMemoryBlock;
|
||||
import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter;
|
||||
|
@ -336,7 +336,7 @@ public class SRecordImporter implements IMemoryImporter {
|
|||
@Override
|
||||
public void importMemory() {
|
||||
try {
|
||||
Consumer<BigInteger> scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : new ScrollMemory.Ignore();
|
||||
IScrollMemory scroll = fScrollToStart ? new ScrollMemory(fParentDialog) : IScrollMemory.ignore();
|
||||
IMemoryBlockExtension block = (IMemoryBlockExtension) fMemoryBlock;
|
||||
ImportRequest request = new ImportRequest(block.getBigBaseAddress(), fStartAddress,
|
||||
new WriteMemoryBlock(block));
|
||||
|
|
Loading…
Add table
Reference in a new issue