diff --git a/lib/src/main/java/sim/core/Circuit.java b/lib/src/main/java/sim/core/Circuit.java index a614c74..7fc3dca 100644 --- a/lib/src/main/java/sim/core/Circuit.java +++ b/lib/src/main/java/sim/core/Circuit.java @@ -290,4 +290,22 @@ public List getPrimaryOutputs() { public List getWires() { return new ArrayList<>(wires); } + + /** + * Returns a copy of the primary input bindings map. + * + *

The returned map preserves insertion order of primary inputs but is a + * shallow copy. Modifications to the returned map or its lists will not + * affect the circuit's internal state.

+ */ + public Map> getPrimaryInputBindings() { + return new LinkedHashMap<>(primaryInputBindings); + } + + /** + * Returns a copy of the list of gates designated as primary outputs. + */ + public List getPrimaryOutputs() { + return new ArrayList<>(primaryOutputs); + } }