IntegerRenderer.java revision 6ef13753e78bb7abc7e7683d5e533c3395d4a9b6
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/*
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * [The "BSD licence"]
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright (c) 2009 Ben Gruver
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * All rights reserved.
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com *
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Redistribution and use in source and binary forms, with or without
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * modification, are permitted provided that the following conditions
8c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * are met:
9b7061176c7f414616fe2e79e832b3e0abe326af6robertphillips@google.com * 1. Redistributions of source code must retain the above copyright
10c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com *    notice, this list of conditions and the following disclaimer.
11c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * 2. Redistributions in binary form must reproduce the above copyright
12c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com *    notice, this list of conditions and the following disclaimer in the
13c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com *    documentation and/or other materials provided with the distribution.
14c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * 3. The name of the author may not be used to endorse or promote products
15c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com *    derived from this software without specific prior written permission.
1648dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com *
1748dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1848dd1a26ec07c5baa04856202e4e7e2a53e4d7e5bsalomon@google.com * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24a90c6803865766d28e92091f56f718f5e41fe80fcommit-bot@chromium.org * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com */
28c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com
293c14d0f3d1b467dc3776669b0fc48cb463a20d41bungeman@google.compackage org.jf.baksmali.Renderers;
30f539318f0d3dba743ec1886d5d9df0fb1be628a1tfarina
31c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.comimport org.antlr.stringtemplate.AttributeRenderer;
32c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com
33c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.compublic class IntegerRenderer implements AttributeRenderer {
34e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org    public String toString(Object o) {
35c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com        Integer i = (Integer)o;
36e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org        if (i < 0) {
37e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org            return "-0x" + Integer.toHexString(-1 * i);
38c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com        }
39e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org        return "0x" + Integer.toHexString((Integer)o);
40e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org    }
41e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org
42e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org    public String toString(Object o, String s) {
43e396455d2d60ddf8e625b5037254f3c09fbcdcf5commit-bot@chromium.org        if (s.equals("decimal")) {
44c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com            return Integer.toString((Integer)o);
45c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com        }
46c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com        return toString(o);
47c96e5c2720e03dbcad6cd9eb55073fb2f40e89e3reed@google.com    }
483c14d0f3d1b467dc3776669b0fc48cb463a20d41bungeman@google.com}
493c14d0f3d1b467dc3776669b0fc48cb463a20d41bungeman@google.com