diff options
author | Björn-Egil Dahlberg <[email protected]> | 2014-02-14 11:52:20 +0100 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2014-02-14 11:52:20 +0100 |
commit | 754d1e649f41f399d52c7b2d0eface0308d7d3b8 (patch) | |
tree | 6a113851abd53db6c402b2cabebf252705fbd3e3 /lib/jinterface/java_src/com/ericsson/otp/erlang/OtpInputStream.java | |
parent | 9f698ad63586735de169fb514f22eea5164e173b (diff) | |
parent | a2d09eb344a6ec0901aee103abf290a143f004ad (diff) | |
download | otp-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.java | 20 |
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; + } } |