langtools/test/tools/javap/T7190862.java
author katleman
Thu, 21 Aug 2014 14:16:14 -0700
changeset 25878 6d561031123e
parent 18388 7d67f9206d8f
child 30730 d3ce7619db2c
permissions -rw-r--r--
Added tag jdk9-b27 for changeset 98ce0879ab4c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14717
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     1
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     2
/*
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     3
 * @test /nodynamiccopyright/
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     4
 * @bug 7190862 7109747
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     5
 * @summary javap shows an incorrect type for operands if the 'wide' prefix is used
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     6
 */
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     7
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     8
import com.sun.source.util.JavacTask;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     9
import com.sun.tools.javap.JavapFileManager;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    10
import com.sun.tools.javap.JavapTask;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    11
import java.io.PrintWriter;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    12
import java.io.StringWriter;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    13
import java.net.URI;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    14
import java.util.Arrays;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    15
import java.util.List;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    16
import java.util.Locale;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    17
import javax.tools.Diagnostic;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    18
import javax.tools.DiagnosticCollector;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    19
import javax.tools.JavaCompiler;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    20
import javax.tools.JavaFileManager;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    21
import javax.tools.JavaFileObject;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    22
import javax.tools.SimpleJavaFileObject;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    23
import javax.tools.ToolProvider;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    24
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    25
public class T7190862 {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    26
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    27
    enum TypeWideInstructionMap {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    28
        INT("int", new String[]{"istore_w", "iload_w"}),
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    29
        LONG("long", new String[]{"lstore_w", "lload_w"}),
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    30
        FLOAT("float", new String[]{"fstore_w", "fload_w"}),
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    31
        DOUBLE("double", new String[]{"dstore_w", "dload_w"}),
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    32
        OBJECT("Object", new String[]{"astore_w", "aload_w"});
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    33
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    34
        String type;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    35
        String[] instructions;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    36
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    37
        TypeWideInstructionMap(String type, String[] instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    38
            this.type = type;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    39
            this.instructions = instructions;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    40
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    41
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    42
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    43
    JavaSource source;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    44
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    45
    public static void main(String[] args) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    46
        JavaCompiler comp = ToolProvider.getSystemJavaCompiler();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    47
        new T7190862().run(comp);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    48
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    49
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    50
    private void run(JavaCompiler comp) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    51
        String code;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    52
        for (TypeWideInstructionMap typeInstructionMap: TypeWideInstructionMap.values()) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    53
            if (typeInstructionMap != TypeWideInstructionMap.OBJECT) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    54
                code = createWideLocalSource(typeInstructionMap.type, 300);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    55
            } else {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    56
                code = createWideLocalSourceForObject(300);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    57
            }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    58
            source = new JavaSource(code);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    59
            compile(comp);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    60
            check(typeInstructionMap.instructions);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    61
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    62
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    63
        //an extra test for the iinc instruction
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    64
        code = createIincSource();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    65
        source = new JavaSource(code);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    66
        compile(comp);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    67
        check(new String[]{"iinc_w"});
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    68
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    69
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    70
    private void compile(JavaCompiler comp) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    71
        JavacTask ct = (JavacTask)comp.getTask(null, null, null, null, null, Arrays.asList(source));
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    72
        try {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    73
            if (!ct.call()) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    74
                throw new AssertionError("Error thrown when compiling the following source:\n" + source.getCharContent(true));
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    75
            }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    76
        } catch (Throwable ex) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    77
            throw new AssertionError("Error thrown when compiling the following source:\n" + source.getCharContent(true));
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    78
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    79
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    80
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    81
    private void check(String[] instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    82
        String out = javap(Arrays.asList("-c"), Arrays.asList("Test.class"));
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    83
        for (String line: out.split(System.getProperty("line.separator"))) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    84
            line = line.trim();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    85
            for (String instruction: instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    86
                if (line.contains(instruction) && line.contains("#")) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    87
                    throw new Error("incorrect type for operands for instruction " + instruction);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    88
                }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    89
            }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    90
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    91
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    92
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    93
    private String javap(List<String> args, List<String> classes) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    94
        DiagnosticCollector<JavaFileObject> dc = new DiagnosticCollector<JavaFileObject>();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    95
        StringWriter sw = new StringWriter();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    96
        PrintWriter pw = new PrintWriter(sw);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    97
        JavaFileManager fm = JavapFileManager.create(dc, pw);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    98
        JavapTask t = new JavapTask(pw, fm, dc, args, classes);
18388
7d67f9206d8f 8007907: javap, method com.sun.tools.javap.Main.run returns 0 even in case of class not found error
vromero
parents: 14717
diff changeset
    99
        if (t.run() != 0)
14717
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   100
            throw new Error("javap failed unexpectedly");
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   101
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   102
        List<Diagnostic<? extends JavaFileObject>> diags = dc.getDiagnostics();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   103
        for (Diagnostic<? extends JavaFileObject> d: diags) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   104
            if (d.getKind() == Diagnostic.Kind.ERROR)
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   105
                throw new Error(d.getMessage(Locale.ENGLISH));
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   106
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   107
        return sw.toString();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   108
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   109
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   110
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   111
    private String createWideLocalSource(String type, int numberOfVars) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   112
        String result = "    " + type + " x0 = 0;\n";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   113
        for (int i = 1; i < numberOfVars; i++) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   114
            result += "        " + type + " x" + i + " = x" + (i - 1) + " + 1;\n";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   115
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   116
        return result;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   117
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   118
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   119
    private String createWideLocalSourceForObject(int numberOfVars) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   120
        String result = "    Object x0 = new Object();\n";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   121
        for (int i = 1; i < numberOfVars; i++) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   122
            result += "        Object x" + i + " = x0;\n";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   123
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   124
        return result;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   125
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   126
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   127
    private String createIincSource() {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   128
        return "    int i = 0;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   129
                + "        i += 1;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   130
                + "        i += 51;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   131
                + "        i += 101;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   132
                + "        i += 151;\n";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   133
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   134
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   135
    class JavaSource extends SimpleJavaFileObject {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   136
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   137
        String template = "class Test {\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   138
                          "    public static void main(String[] args)\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   139
                          "    {\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   140
                          "        #C" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   141
                          "    }\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   142
                          "}";
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   143
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   144
        String source;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   145
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   146
        public JavaSource(String code) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   147
            super(URI.create("Test.java"), JavaFileObject.Kind.SOURCE);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   148
            source = template.replaceAll("#C", code);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   149
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   150
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   151
        @Override
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   152
        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   153
            return source;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   154
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   155
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   156
}