Community
Participate
Working Groups
There are a total of 3 questions which need additional clarification for translation: Question 1: tct 60 File \eclipse\plugins\org.eclipse.jdt.core\jdtcore_jar\eclipse\jdt\internal\compiler \problem\messages.properties Can you please explain "boxed" in this context? 720 = <TWBQ>The expression of type {0} is boxed into {1} Question 2: tct44 file name: eclipse\plugins\org.eclipse.jdt.core\jdtcore_jar\org\eclipse\jdt\internal\compi ler\problem\messages.properties Pls notice the following sentence: 527 = Method {0}({2}) has the same erasure {0}({3}) as another method in type {1} Would you like to explain "erasure"? Question 3: tct 45 file name: eclipse\plugins\org.eclipse.jdt.core\jdtcore_jar\org\eclipse\jdt\internal\core\ util\messages.properties Pls notice the following sentence: disassembler.constantpoolheader = Constant pool: disassembler.constantpool.class = constant #{0} class: #{1} {2} disassembler.constantpool.double = constant #{0} double: {1} disassembler.constantpool.float = constant #{0} float: {1} disassembler.constantpool.integer = constant #{0} integer: {1} disassembler.constantpool.long = constant #{0} long: {1} disassembler.constantpool.string = constant #{0} string: #{1} {2} disassembler.constantpool.fieldref = constant #{0} field_ref: #{1}.#{2} {3}. {4} {5} disassembler.constantpool.interfacemethodref = constant #{0} interface_method_ref: #{1}.#{2} {3}.{4} {5} disassembler.constantpool.methodref = constant #{0} method_ref: #{1}.#{2} {3}. {4} {5} disassembler.constantpool.name_and_type = constant #{0} name_and_type: #{1}.# {2} {3} {4} disassembler.constantpool.utf8 = constant #{0} utf8: {1} In this sentence, we think this kind of strings such as field_ref, interface_method_ref and method_ref should not be translated. And Would you like to confirm if we should traslate the word such as: double, float, string and so on?
For question 3, I would not translate any of the messages. For question 1, "boxed" means wrap in the corresponding wrapper type. long -> java.lang.Long, int -> java.lang.Integer, etc. I leave the question 2 to somebody else as I have no idea how that could be explain in a few words. You can refer to the JLS 3. http://java.sun.com/docs/books/jls
Re: question 2, In brief, when dealing with parameterized type (e.g. List<String>), erasure means erasing (discarding) parameters: List<String> --> List So when 2 methods are colliding because having same erasure, it means that there were two methods which once types got erased, where having same signatures. e.g. void foo(List<String> l1) {...} ---> void foo(List) void foo(List<Object> l2) {...} ---> void foo(List) from JLS 3rd edition 4.6 Type Erasure Type erasure is a mapping from types (possibly including parameterized types and type variables) to types (that are never parameterized types or type variables). We write |T| for the erasure of type T. The erasure mapping is defined as follows. • The erasure of a parameterized type (§4.5) G<T1, ... ,Tn> is |G|. • The erasure of a nested type T.C is |T|.C. • The erasure of an array type T[] is |T|[]. • The erasure of a type variable (§4.4) is the erasure of its leftmost bound. • The erasure of every other type is the type itself. The erasure of a method signature s is a signature consisting of the same name as s, and the erasures of all the formal parameter types given in s.
Thank you for the info. Please close bug or change status so bug can be closed.
closing
Verified.
Bug closed.