GP-6234: Formally mark EmulatorHelper and friends @Deprecated.

This commit is contained in:
Dan
2025-12-15 18:52:45 +00:00
parent 9e7b888298
commit 44c7f8381c
43 changed files with 151 additions and 84 deletions

View File

@@ -48,12 +48,14 @@ import ghidra.util.task.TaskMonitor;
* ported to use the new {@link PcodeEmulator} directly. New use cases based on p-code emulation
* should use the {@link PcodeEmulator} directly. Older use cases still being actively maintained
* should begin work porting to {@link PcodeEmulator}. Old use cases without active maintenance may
* try this wrapper, but may have to remain using {@link DefaultEmulator}. At a minimum, to update
* such old use cases, {@code new Emulator(...)} must be replaced by
* try this wrapper, but they will no longer compile once this adaptor is removed. At a minimum, to
* update such old use cases, {@code new Emulator(...)} must be replaced by
* {@code new DefaultEmulator(...)}.
*/
@Transitional
@Deprecated(since = "12.1", forRemoval = true)
public class AdaptedEmulator implements Emulator {
@Deprecated(since = "12.1", forRemoval = true)
class AdaptedPcodeEmulator extends PcodeEmulator {
private final MemoryLoadImage loadImage;
private final MemoryFaultHandler faultHandler;
@@ -91,6 +93,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
@Transitional
public class AdaptedPcodeUseropLibrary extends AnnotatedPcodeUseropLibrary<byte[]> {
@PcodeUserop
@@ -106,6 +109,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
class AdaptedPcodeThread extends BytesPcodeThread {
Address lastExecuteAddress;
@@ -145,6 +149,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
class AdaptedStateCallbacks implements PcodeStateCallbacks {
private final MemoryLoadImage loadImage;
@@ -184,6 +189,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
class AdaptedBytesPcodeExecutorState extends BytesPcodeExecutorState {
public AdaptedBytesPcodeExecutorState(Language language, MemoryFaultHandler faultHandler,
MemoryLoadImage loadImage) {
@@ -228,6 +234,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
static class AdaptedBytesPcodeExecutorStatePiece
extends AbstractBytesPcodeExecutorStatePiece<AdaptedBytesPcodeExecutorStateSpace> {
private final MemoryFaultHandler faultHandler;
@@ -244,6 +251,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
static class AdaptedBytesPcodeExecutorStateSpace extends BytesPcodeExecutorStateSpace {
private final MemoryFaultHandler faultHandler;
@@ -270,6 +278,7 @@ public class AdaptedEmulator implements Emulator {
}
}
@Deprecated(since = "12.1", forRemoval = true)
class AdaptedBreakTableCallback extends BreakTableCallBack {
public AdaptedBreakTableCallback() {
super((SleighLanguage) language);
@@ -299,6 +308,7 @@ public class AdaptedEmulator implements Emulator {
* track what filters are installed. The {@link AdaptedBytesPcodeExecutorState} will invoke the
* filter chain and then perform the read or write itself.
*/
@Deprecated(since = "12.1", forRemoval = true)
static class AdaptedFilteredMemoryState extends FilteredMemoryState {
private MemoryAccessFilter headFilter;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -50,6 +50,7 @@ import ghidra.program.model.address.AddressSpace;
* so long as {@link T} can be made concrete.
*/
@Transitional
@Deprecated(since = "12.1", forRemoval = true)
public class AdaptedMemoryState<T> extends AbstractMemoryState {
private final PcodeExecutorState<T> state;
private final PcodeArithmetic<T> arithmetic;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -45,7 +45,10 @@ import ghidra.util.task.TaskMonitor;
* to {@code new DefaultEmulator(...)}. It is highly recommended to port to the newer
* {@link PcodeEmulator}. You may find the {@link AdaptedEmulator} useful during the transition, but
* that class is only transitional.
*
* @deprecated Please use {@link PcodeEmulator} instead.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class DefaultEmulator implements Emulator {
private final MemoryFaultHandler faultHandler;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -27,10 +27,10 @@ import ghidra.util.task.TaskMonitor;
/**
* The emulator interface
*
* <p>
* This interface may soon be deprecated. It was extracted from what has now been renamed
* {@link DefaultEmulator}. Please consider using {@link PcodeEmulator} instead.
* @deprecated This interface was extracted from what has now been renamed {@link DefaultEmulator}
* and is also deprecated. Please use {@link PcodeEmulator} instead.
*/
@Deprecated(since = "12.1", forRemoval = true)
public interface Emulator {
/**

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,6 +20,7 @@ import ghidra.pcode.memstate.MemoryFaultHandler;
import ghidra.program.model.lang.Language;
import ghidra.program.model.lang.Register;
@Deprecated(since = "12.1", forRemoval = true)
public interface EmulatorConfiguration {
Language getLanguage();

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -49,7 +49,9 @@ import ghidra.util.task.TaskMonitor;
*
* @see PcodeEmulator
* @see Emulator
* @deprecated Please use {@link PcodeEmulator} instead.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class EmulatorHelper implements MemoryFaultHandler, EmulatorConfiguration {
private final Program program;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +19,7 @@ import ghidra.pcode.memstate.DefaultMemoryState;
import ghidra.program.model.address.AddressSpace;
import ghidra.program.model.lang.Language;
@Deprecated(since = "12.1", forRemoval = true)
class FilteredMemoryState extends DefaultMemoryState {
private MemoryAccessFilter filter;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,6 +15,8 @@
*/
package ghidra.app.emulator;
import ghidra.pcode.emu.PcodeEmulationCallbacks;
import ghidra.pcode.emu.PcodeEmulator;
import ghidra.program.model.address.AddressSpace;
/**
@@ -24,7 +26,11 @@ import ghidra.program.model.address.AddressSpace;
* Several of these filters may be chained together, each being invoked in the reverse of the order
* added. In this way, the first added gets the "final say," but it also is farthest from the
* original request.
*
* @deprecated Please use {@link PcodeEmulator} instead. For similar callbacks, see
* {@link PcodeEmulationCallbacks}
*/
@Deprecated(since = "12.1", forRemoval = true)
public abstract class MemoryAccessFilter {
private MemoryAccessFilter prevFilter;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -21,6 +21,7 @@ import ghidra.pcode.memstate.MemoryPage;
import ghidra.program.model.address.Address;
import ghidra.program.model.address.AddressSetView;
@Deprecated(since = "12.1", forRemoval = true)
public class CompositeLoadImage implements MemoryLoadImage {
private List<MemoryLoadImage> providers = new ArrayList<MemoryLoadImage>();

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +18,7 @@ package ghidra.app.emulator.memory;
import ghidra.app.emulator.state.RegisterState;
import ghidra.program.model.address.AddressSetView;
@Deprecated(since = "12.1", forRemoval = true)
public interface EmulatorLoadData {
public MemoryLoadImage getMemoryLoadImage();

View File

@@ -15,23 +15,30 @@
*/
package ghidra.app.emulator.memory;
import ghidra.pcode.emu.PcodeEmulationCallbacks;
import ghidra.pcode.emu.PcodeEmulator;
import ghidra.pcode.memstate.*;
import ghidra.program.model.address.AddressSpace;
/**
* A kind of MemoryBank which retrieves its data from an underlying LoadImage
* <p>
* Any bytes requested on the bank which lie in the LoadImage are retrieved from
* the LoadImage. Other addresses in the space are filled in with zero.
* This bank cannot be written to.
* Any bytes requested on the bank which lie in the LoadImage are retrieved from the LoadImage.
* Other addresses in the space are filled in with zero. This bank cannot be written to.
*
* @deprecated Please use {@link PcodeEmulator} instead. We generally expect the image to be
* manually loaded into the emulator, though you can use {@link PcodeEmulationCallbacks}
* to load an image lazily.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class MemoryImage extends MemoryBank {
private MemoryLoadImage loader; // The underlying LoadImage
/**
* A MemoryImage needs everything a basic memory bank needs and is needs to know
* the underlying LoadImage object to forward read requests to.
* A MemoryImage needs everything a basic memory bank needs and is needs to know the underlying
* LoadImage object to forward read requests to.
*
* @param spc is the address space associated with the memory bank
* @param isBigEndian
* @param ps is the number of bytes in a page (must be power of 2)
@@ -45,9 +52,9 @@ public class MemoryImage extends MemoryBank {
}
/**
* Retrieve an aligned page from the bank. First an attempt is made to retrieve the
* page from the LoadImage, which may do its own zero filling. If the attempt fails, the
* page is entirely filled in with zeros.
* Retrieve an aligned page from the bank. First an attempt is made to retrieve the page from
* the LoadImage, which may do its own zero filling. If the attempt fails, the page is entirely
* filled in with zeros.
*/
@Override
public MemoryPage getPage(long addr) {

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +18,7 @@ package ghidra.app.emulator.memory;
import ghidra.pcode.loadimage.LoadImage;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public interface MemoryLoadImage extends LoadImage {
public void writeBack(byte[] bytes, int size, Address addr, int offset);

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -27,6 +27,7 @@ import ghidra.util.Msg;
import ghidra.util.exception.AssertException;
// Derived from ProgramMappedMemory
@Deprecated(since = "12.1", forRemoval = true)
public class ProgramLoadImage {
private Program program;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,6 +17,7 @@ package ghidra.app.emulator.memory;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public class ProgramMappedLoadImage implements MemoryLoadImage {
private ProgramMappedMemory pmm;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -26,6 +26,7 @@ import ghidra.program.model.mem.*;
import ghidra.util.Msg;
import ghidra.util.exception.AssertException;
@Deprecated(since = "12.1", forRemoval = true)
public class ProgramMappedMemory {
private Program program;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -21,6 +21,7 @@ import ghidra.util.*;
import java.util.*;
@Deprecated(since = "12.1", forRemoval = true)
public class DumpMiscState implements RegisterState {
private Map<String, Pair<Boolean, byte[]>> context =

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +19,7 @@ import ghidra.pcode.memstate.MemoryBank;
import ghidra.pcode.memstate.MemoryPageOverlay;
import ghidra.program.model.address.AddressSpace;
@Deprecated(since = "12.1", forRemoval = true)
public class FilteredMemoryPageOverlay extends MemoryPageOverlay {
private boolean writeBack;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,6 +20,7 @@ import ghidra.pcode.memstate.MemoryPageBank;
import ghidra.program.model.address.AddressSpace;
import ghidra.program.model.lang.Language;
@Deprecated(since = "12.1", forRemoval = true)
public class FilteredRegisterBank extends MemoryPageBank {
//private final RegisterState regState;

View File

@@ -18,6 +18,7 @@ package ghidra.app.emulator.state;
import java.util.List;
import java.util.Set;
@Deprecated(since = "12.1", forRemoval = true)
public interface RegisterState {
public Set<String> getKeys();

View File

@@ -15,6 +15,8 @@
*/
package ghidra.pcode.emulate;
import ghidra.pcode.emu.PcodeMachine;
import ghidra.pcode.exec.AnnotatedPcodeUseropLibrary;
import ghidra.pcode.pcoderaw.PcodeOpRaw;
import ghidra.program.model.address.Address;
@@ -31,7 +33,11 @@ import ghidra.program.model.address.Address;
*
* depending on whether the breakpoint is tailored for a particular pcode op or for
* a machine address.
*
* @deprecated Use {@link PcodeMachine#inject(Address, String)}. By injecting a userop invocation,
* you can receive a callback in a {@link AnnotatedPcodeUseropLibrary}.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class BreakCallBack {
protected Emulate emulate; // The emulator currently associated with this breakpoint

View File

@@ -33,6 +33,7 @@ import ghidra.program.model.address.Address;
* depending on the type of breakpoint they currently want to invoke
*/
@Deprecated(since = "12.1", forRemoval = true)
public interface BreakTable {
/**

View File

@@ -33,6 +33,7 @@ import ghidra.program.model.address.Address;
* Breakpoints are stored in map containers, and the core BreakTable methods
* are implemented to search in these containers
*/
@Deprecated(since = "12.1", forRemoval = true)
public class BreakTableCallBack implements BreakTable {
public static final String DEFAULT_NAME = "*";

View File

@@ -42,6 +42,7 @@ import ghidra.util.task.TaskMonitor;
* as the execution address is set, either explicitly, or via branches and fallthrus. There
* are additional methods for inspecting the pcode ops in the current instruction as a sequence.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class Emulate {
private MemoryState memstate; // the memory state of the emulator.

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -22,6 +22,7 @@ import ghidra.program.model.address.Address;
import ghidra.program.model.lang.*;
import ghidra.program.util.ProgramContextImpl;
@Deprecated(since = "12.1", forRemoval = true)
public class EmulateDisassemblerContext implements DisassemblerContext {
private final Language language;

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,6 +15,7 @@
*/
package ghidra.pcode.emulate;
@Deprecated(since = "12.1", forRemoval = true)
public enum EmulateExecutionState {
/**

View File

@@ -19,6 +19,8 @@ import java.util.*;
import ghidra.pcode.emulate.callother.OpBehaviorOther;
import ghidra.pcode.error.LowlevelError;
import ghidra.pcode.exec.AnnotatedPcodeUseropLibrary;
import ghidra.pcode.exec.PcodeUseropLibrary;
import ghidra.program.model.address.Address;
import ghidra.program.model.lang.Language;
import ghidra.program.model.lang.RegisterValue;
@@ -30,7 +32,10 @@ import ghidra.program.model.pcode.Varnode;
* emulation with adjusting the current execution state, providing support for custom pcodeop's
* (i.e., CALLOTHER). The implementation of this interface must provide a public constructor which
* takes a single Emulate argument.
*
* @deprecated Use {@link PcodeUseropLibrary} or {@link AnnotatedPcodeUseropLibrary} instead
*/
@Deprecated(since = "12.1", forRemoval = true)
public abstract class EmulateInstructionStateModifier {
protected final Emulate emu;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -26,6 +26,7 @@ import ghidra.program.model.mem.*;
* which wraps an emulator MemoryState. This implementation wraps all specified
* memory offsets within the associated address space.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class EmulateMemoryStateBuffer implements MemBuffer {
private final MemoryState memState;

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +18,7 @@ package ghidra.pcode.emulate;
import ghidra.pcode.error.LowlevelError;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public class InstructionDecodeException extends LowlevelError {
private Address pc;

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +18,7 @@ package ghidra.pcode.emulate;
import ghidra.pcode.error.LowlevelError;
import ghidra.pcode.pcoderaw.PcodeOpRaw;
@Deprecated(since = "12.1", forRemoval = true)
public class UnimplementedCallOtherException extends LowlevelError {
private String opName;

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +18,7 @@ package ghidra.pcode.emulate;
import ghidra.pcode.error.LowlevelError;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public class UnimplementedInstructionException extends LowlevelError {
private Address addr;

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +18,7 @@ package ghidra.pcode.emulate.callother;
import ghidra.pcode.emulate.Emulate;
import ghidra.program.model.pcode.Varnode;
@Deprecated(since = "12.1", forRemoval = true)
public interface OpBehaviorOther {
/**

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -19,6 +18,7 @@ package ghidra.pcode.emulate.callother;
import ghidra.pcode.emulate.Emulate;
import ghidra.program.model.pcode.Varnode;
@Deprecated(since = "12.1", forRemoval = true)
public class OpBehaviorOtherNOP implements OpBehaviorOther {
@Override

View File

@@ -19,6 +19,7 @@ import ghidra.program.model.address.Address;
// API for accessing a binary load image
// using 1 of possibly many different methods behind the scenes
@Deprecated(since = "12.1", forRemoval = true)
public interface LoadImage {
// TODO this doesn't appear to be used.

View File

@@ -1,13 +1,12 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +17,7 @@ package ghidra.pcode.loadimage;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public class LoadImageFunc {
public Address address; // Start of function
public String name; // Name of function

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -24,6 +24,7 @@ import ghidra.program.model.lang.Language;
import ghidra.program.model.lang.Register;
import ghidra.program.model.pcode.Varnode;
@Deprecated(since = "12.1", forRemoval = true)
public abstract class AbstractMemoryState implements MemoryState {
final Language language;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -28,6 +28,7 @@ import ghidra.program.model.lang.Language;
* (AddressSpace,offset,size). This class allows getting and setting of all state information of
* this form.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class DefaultMemoryState extends AbstractMemoryState {
VectorSTL<MemoryBank> memspace = new VectorSTL<MemoryBank>();

View File

@@ -17,6 +17,7 @@ package ghidra.pcode.memstate;
import ghidra.program.model.address.AddressSpace;
@Deprecated(since = "12.1", forRemoval = true)
public abstract class MemoryBank {
private final int pagesize; // Number of bytes in an aligned page access

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,6 +17,7 @@ package ghidra.pcode.memstate;
import ghidra.program.model.address.Address;
@Deprecated(since = "12.1", forRemoval = true)
public interface MemoryFaultHandler {
/**

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -24,6 +24,7 @@ import java.util.Arrays;
* mask indicates that all data within the page is initialized. A one-bit
* within the mask indicates that the corresponding data byte is initialized.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class MemoryPage {
public final byte[] data;

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +18,7 @@ package ghidra.pcode.memstate;
import generic.stl.*;
import ghidra.program.model.address.AddressSpace;
@Deprecated(since = "12.1", forRemoval = true)
public class MemoryPageBank extends MemoryBank {
protected MapSTL<Long, MemoryPage> page = new ComparableMapSTL<>();

View File

@@ -27,6 +27,7 @@ import ghidra.program.model.address.AddressSpace;
* of this page implementation. The underlying memory bank can be a null pointer
* in which case, this memory bank behaves as if it were initially filled with zeros.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class MemoryPageOverlay extends MemoryPageBank {
protected MemoryBank underlie; // underlying memory object

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -22,6 +22,7 @@ import ghidra.program.model.address.AddressSpace;
import ghidra.program.model.lang.Register;
import ghidra.program.model.pcode.Varnode;
@Deprecated(since = "12.1", forRemoval = true)
public interface MemoryState {
/**

View File

@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -24,6 +24,7 @@ import ghidra.program.model.address.AddressSpace;
* An subclass of {@link MemoryBank} intended for modeling the "unique" memory
* space. The space is byte-addressable and paging is not supported.
*/
@Deprecated(since = "12.1", forRemoval = true)
public class UniqueMemoryBank extends MemoryBank {
/**A map from {@link Long} offsets to byte values would require many lookups.