langtools/test/tools/javap/T7190862.java
author akulyakh
Thu, 21 May 2015 11:41:04 -0700
changeset 30730 d3ce7619db2c
parent 18388 7d67f9206d8f
child 30846 2b3f379840f0
permissions -rw-r--r--
8076543: Add @modules as needed to the langtools tests Reviewed-by: jjg, shurailine
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
30730
d3ce7619db2c 8076543: Add @modules as needed to the langtools tests
akulyakh
parents: 18388
diff changeset
     6
 * @modules jdk.compiler
14717
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
     9
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
    10
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
    11
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
    12
import java.io.PrintWriter;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    13
import java.io.StringWriter;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    14
import java.net.URI;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    15
import java.util.Arrays;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    16
import java.util.List;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    17
import java.util.Locale;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    18
import javax.tools.Diagnostic;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    19
import javax.tools.DiagnosticCollector;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    20
import javax.tools.JavaCompiler;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    21
import javax.tools.JavaFileManager;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    22
import javax.tools.JavaFileObject;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    23
import javax.tools.SimpleJavaFileObject;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    24
import javax.tools.ToolProvider;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    25
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    26
public class T7190862 {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    27
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    28
    enum TypeWideInstructionMap {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    29
        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
    30
        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
    31
        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
    32
        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
    33
        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
    34
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    35
        String type;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    36
        String[] instructions;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    37
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    38
        TypeWideInstructionMap(String type, String[] instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    39
            this.type = type;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    40
            this.instructions = instructions;
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    44
    JavaSource source;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    45
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    46
    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
    47
        JavaCompiler comp = ToolProvider.getSystemJavaCompiler();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    48
        new T7190862().run(comp);
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    51
    private void run(JavaCompiler comp) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    52
        String code;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    53
        for (TypeWideInstructionMap typeInstructionMap: TypeWideInstructionMap.values()) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    54
            if (typeInstructionMap != TypeWideInstructionMap.OBJECT) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    55
                code = createWideLocalSource(typeInstructionMap.type, 300);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    56
            } else {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    57
                code = createWideLocalSourceForObject(300);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    58
            }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    59
            source = new JavaSource(code);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    60
            compile(comp);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    61
            check(typeInstructionMap.instructions);
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    64
        //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
    65
        code = createIincSource();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    66
        source = new JavaSource(code);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    67
        compile(comp);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    68
        check(new String[]{"iinc_w"});
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    71
    private void compile(JavaCompiler comp) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    72
        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
    73
        try {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    74
            if (!ct.call()) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    75
                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
    76
            }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    77
        } catch (Throwable ex) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    78
            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
    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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    82
    private void check(String[] instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    83
        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
    84
        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
    85
            line = line.trim();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    86
            for (String instruction: instructions) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    87
                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
    88
                    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
    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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    94
    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
    95
        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
    96
        StringWriter sw = new StringWriter();
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    97
        PrintWriter pw = new PrintWriter(sw);
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
    98
        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
    99
        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
   100
        if (t.run() != 0)
14717
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   101
            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
   102
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   103
        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
   104
        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
   105
            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
   106
                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
   107
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   108
        return sw.toString();
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   112
    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
   113
        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
   114
        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
   115
            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
   116
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   117
        return result;
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   120
    private String createWideLocalSourceForObject(int numberOfVars) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   121
        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
   122
        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
   123
            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
   124
        }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   125
        return result;
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   128
    private String createIincSource() {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   129
        return "    int i = 0;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   130
                + "        i += 1;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   131
                + "        i += 51;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   132
                + "        i += 101;\n"
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   133
                + "        i += 151;\n";
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   136
    class JavaSource extends SimpleJavaFileObject {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   137
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   138
        String template = "class Test {\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   139
                          "    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
   140
                          "    {\n" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   141
                          "        #C" +
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   142
                          "    }\n" +
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   145
        String source;
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   146
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   147
        public JavaSource(String code) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   148
            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
   149
            source = template.replaceAll("#C", code);
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
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   152
        @Override
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   153
        public CharSequence getCharContent(boolean ignoreEncodingErrors) {
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   154
            return source;
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
    }
641fdce05089 7190862: javap shows an incorrect type for operands if the 'wide' prefix is used
vromero
parents:
diff changeset
   157
}