diff options
Diffstat (limited to 'libjava/classpath/gnu/xml/xpath/LocalNameFunction.java')
-rw-r--r-- | libjava/classpath/gnu/xml/xpath/LocalNameFunction.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libjava/classpath/gnu/xml/xpath/LocalNameFunction.java b/libjava/classpath/gnu/xml/xpath/LocalNameFunction.java index 84fb6d48288..dbad9d3b42a 100644 --- a/libjava/classpath/gnu/xml/xpath/LocalNameFunction.java +++ b/libjava/classpath/gnu/xml/xpath/LocalNameFunction.java @@ -59,9 +59,9 @@ final class LocalNameFunction final Expr arg; - LocalNameFunction(List args) + LocalNameFunction(List<Expr> args) { - this(args.size() > 0 ? (Expr) args.get(0) : null); + this(args.size() > 0 ? args.get(0) : null); } LocalNameFunction(Expr arg) @@ -69,11 +69,14 @@ final class LocalNameFunction this.arg = arg; } + @Override public Object evaluate(Node context, int pos, int len) { - Object val = (arg == null) ? Collections.singleton(context) : - arg.evaluate(context, pos, len); - return _local_name(context, (Collection) val); + /* Suppression is safe, as we know context produces Collection<Node> */ + @SuppressWarnings("unchecked") + Collection<Node> val = (arg == null) ? Collections.singleton(context) : + (Collection<Node>) arg.evaluate(context, pos, len); + return _local_name(context, val); } public Expr clone(Object context) |