aboutsummaryrefslogtreecommitdiffstats
path: root/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2014-02-14 11:52:20 +0100
committerBjörn-Egil Dahlberg <[email protected]>2014-02-14 11:52:20 +0100
commit754d1e649f41f399d52c7b2d0eface0308d7d3b8 (patch)
tree6a113851abd53db6c402b2cabebf252705fbd3e3 /lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
parent9f698ad63586735de169fb514f22eea5164e173b (diff)
parenta2d09eb344a6ec0901aee103abf290a143f004ad (diff)
downloadotp-754d1e649f41f399d52c7b2d0eface0308d7d3b8.tar.gz
otp-754d1e649f41f399d52c7b2d0eface0308d7d3b8.tar.bz2
otp-754d1e649f41f399d52c7b2d0eface0308d7d3b8.zip
Merge branch 'vlad/maps-jinterface/OTP-11703'
* vlad/maps-jinterface/OTP-11703: jinterface: Fix jinterface_SUITE jinterface: update user's guide with maps jinterface: implement support for maps
Diffstat (limited to 'lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java')
-rw-r--r--lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
index 9dc1728346..0d1342d796 100644
--- a/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
+++ b/lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java
@@ -1202,6 +1202,9 @@ public class OtpInputStream extends ByteArrayInputStream {
case OtpExternal.newRefTag:
return new OtpErlangRef(this);
+ case OtpExternal.mapTag:
+ return new OtpErlangMap(this);
+
case OtpExternal.portTag:
return new OtpErlangPort(this);
@@ -1244,4 +1247,21 @@ public class OtpInputStream extends ByteArrayInputStream {
throw new OtpErlangDecodeException("Uknown data type: " + tag);
}
}
+
+ public int read_map_head() throws OtpErlangDecodeException {
+ int arity = 0;
+ final int tag = read1skip_version();
+
+ // decode the map header and get arity
+ switch (tag) {
+ case OtpExternal.mapTag:
+ arity = read4BE();
+ break;
+
+ default:
+ throw new OtpErlangDecodeException("Not valid map tag: " + tag);
+ }
+
+ return arity;
+ }
}