no assert in the code: throw exceptions for early problem detection
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
index eb54ac3..822d30e 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/Constructor.java
@@ -197,8 +197,9 @@
@SuppressWarnings("unchecked")
@Override
protected void callPostCreate(Node node, Object object) {
- assert node.isTwoStepsConstruction();
-
+ if (!node.isTwoStepsConstruction()) {
+ throw new YAMLException("Inexpected recursive structure. Node: " + node);
+ }
if (Object.class.equals(node.getType()) || "tag:yaml.org,2002:null".equals(node.getTag())) {
super.callPostCreate(node, object);
} else {
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/Tuple.java b/src/main/java/org/yaml/snakeyaml/constructor/Tuple.java
index 45abeb4..e7c77a8 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/Tuple.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/Tuple.java
@@ -9,7 +9,9 @@
private final K _2;
public Tuple(T _1, K _2) {
- assert _1 != null && _2 != null;
+ if (_1 == null || _2 == null) {
+ throw new NullPointerException("Tuple does not accept NULL.");
+ }
this._1 = _1;
this._2 = _2;
}
diff --git a/src/main/java/org/yaml/snakeyaml/tokens/Token.java b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
index 0daadd2..a693d80 100644
--- a/src/main/java/org/yaml/snakeyaml/tokens/Token.java
+++ b/src/main/java/org/yaml/snakeyaml/tokens/Token.java
@@ -13,8 +13,9 @@
private final Mark endMark;
public Token(Mark startMark, Mark endMark) {
- assert startMark != null;
- assert endMark != null;
+ if (startMark == null || endMark == null) {
+ throw new NullPointerException("Token requires marks.");
+ }
this.startMark = startMark;
this.endMark = endMark;
}