diff --git a/src/main/java/de/neemann/digital/analyse/expression/Not.java b/src/main/java/de/neemann/digital/analyse/expression/Not.java index 4918ea2aa..25c106093 100644 --- a/src/main/java/de/neemann/digital/analyse/expression/Not.java +++ b/src/main/java/de/neemann/digital/analyse/expression/Not.java @@ -10,7 +10,8 @@ public final class Not implements Expression { private Expression expression; /** - * Creates a not expression + * Creates a not expression. + * Simplifies the expression if possible. * * @param a the child expression to invert * @return the inverted expression @@ -27,6 +28,12 @@ public final class Not implements Expression { return new Not(a); } + /** + * Creates a new instance. + * In most cases it's better to use {@link Not#not(Expression)}. + * + * @param expression + */ public Not(Expression expression) { this.expression = expression; } diff --git a/src/main/java/de/neemann/digital/draw/builder/Builder.java b/src/main/java/de/neemann/digital/draw/builder/Builder.java index d27760e0e..7d370e263 100644 --- a/src/main/java/de/neemann/digital/draw/builder/Builder.java +++ b/src/main/java/de/neemann/digital/draw/builder/Builder.java @@ -152,14 +152,14 @@ public class Builder { for (FragmentVariable f : fragmentVariables) { Vector p = f.getCircuitPos(); int in = varPos.get(f.getVariable().getIdentifier()); - if (f.isNeg()) in += SIZE; + if (f.isInvert()) in += SIZE; circuit.add(new Wire(p, new Vector(in, p.y))); } } private boolean isNotNeeded(String identifier) { for (FragmentVariable fv : fragmentVariables) - if (fv.isNeg() && fv.getVariable().getIdentifier().equals(identifier)) + if (fv.isInvert() && fv.getVariable().getIdentifier().equals(identifier)) return true; return false; diff --git a/src/main/java/de/neemann/digital/draw/builder/FragmentVariable.java b/src/main/java/de/neemann/digital/draw/builder/FragmentVariable.java index c15d50c73..0a3490f03 100644 --- a/src/main/java/de/neemann/digital/draw/builder/FragmentVariable.java +++ b/src/main/java/de/neemann/digital/draw/builder/FragmentVariable.java @@ -8,17 +8,25 @@ import java.util.ArrayList; import java.util.List; /** + * Represents a variable + * * @author hneemann */ public class FragmentVariable implements Fragment { private final Variable variable; - private final boolean neg; + private final boolean invert; private Vector pos; private Vector circuitPos; - public FragmentVariable(Variable variable, boolean neg) { + /** + * Creates a new variable + * + * @param variable the variable + * @param invert true if variable needs to be inverted + */ + public FragmentVariable(Variable variable, boolean invert) { this.variable = variable; - this.neg = neg; + this.invert = invert; } @Override @@ -36,12 +44,18 @@ public class FragmentVariable implements Fragment { circuitPos = pos.add(this.pos); } + /** + * @return the position of the variable in the circuit + */ public Vector getCircuitPos() { return circuitPos; } - public boolean isNeg() { - return neg; + /** + * @return true if variable is inverted + */ + public boolean isInvert() { + return invert; } @Override @@ -56,6 +70,9 @@ public class FragmentVariable implements Fragment { return o; } + /** + * @return the variable + */ public Variable getVariable() { return variable; }