[forge-dev] Adding a field of array type

George Gastaldi gegastaldi at gmail.com
Mon Jul 23 18:14:44 EDT 2012


Hi Ivan,

Yeah, I have to agree with you, this is something that should be
improved. I also don't like having FQN in field declarations.
But, figuring it out how to avoid name clashes may be harder to
implement than using this strategy.

Regards,

George Gastaldi

2012/7/23 Ivan St. Ivanov <ivan.st.ivanov at gmail.com>:
> Hi George,
>
> Yes, I realized that. So it's up to us to decide which option we take:
>
> 1) It is safe to have the fully qualified name in the field declarations,
> but it is kinda ugly
> 2) Declaring the fields with non fully qualified names looks natural (all of
> us use this style), but it may produce class name clashes in one out of 1000
> or more cases. E.g. adding java.util.Date and java.sql.Date to a class.
>
> I don't mind to keep it in the current way. But when I show the generated
> classes to the people, they might get the feeling that something does not
> look like in their IDEs.
>
> Regards,
> Ivan
>
>
> On Tue, Jul 24, 2012 at 12:46 AM, George Gastaldi <gegastaldi at gmail.com>
> wrote:
>>
>> Hi Ivan,
>>
>> Using the fully qualified name avoids class name conflicts, so it is
>> much safer to use than to rely on imports only.
>>
>> Regards,
>>
>> George Gastaldi
>>
>> 2012/7/23 Ivan St. Ivanov <ivan.st.ivanov at gmail.com>:
>> > Hi Lincoln,
>> >
>> > I'm hacking now a solution. Something like:
>> >
>> > if (Types.isArray(simpleName))
>> > {
>> >     Name name = ast.newSimpleName(Types.stripArray(simpleName));
>> >     Type typeOfArray = ast.newSimpleType(name);
>> >     type = ast.newArrayType(typeNoArray);
>> > }
>> >
>> > I'm just trying to find the most suitable place of the above snippet in
>> > the
>> > setType method. Maybe I'll do some refactoring of the existing code.
>> >
>> >  I noticed also that the code inside:
>> >
>> >       if (!Strings.areEqual(typeName, simpleName) && requiresImport)
>> >
>> > ...should also be touched to support arrays.
>> >
>> > BTW, we have the same issue with generic types as well. So I'm looking
>> > into
>> > them too.
>> >
>> > Cheers,
>> > Ivan
>> >
>> > P.S. Don't you think that we should have the simple name (e.g. File) in
>> > the
>> > field declaration instead of the whole type:
>> >
>> > right now it is:
>> >
>> > import java.io.File;
>> >
>> > public class Test {
>> >
>> >    private java.io.File file;
>> >
>> > }
>> >
>> > On Mon, Jul 23, 2012 at 5:53 PM, Lincoln Baxter, III
>> > <lincolnbaxter at gmail.com> wrote:
>> >>
>> >> Hey Ivan!
>> >>
>> >> You're correct, the JDT probably doesn't have a convenient method for
>> >> this
>> >> (it doesn't have much that is convenient,) but what are your proposed
>> >> changes?
>> >>
>> >> ~Lincoln
>> >>
>> >> On Sat, Jul 21, 2012 at 4:04 PM, Ivan St. Ivanov
>> >> <ivan.st.ivanov at gmail.com> wrote:
>> >>>
>> >>> Hi folks,
>> >>>
>> >>> I wonder is it possible to add a field to a JavaClass and to set an
>> >>> array
>> >>> as its type. The setType(String) method does not support arrays yet
>> >>> and I
>> >>> don't want to use the other two variants of this method (taking Class
>> >>> and
>> >>> JavaResource parameters).
>> >>>
>> >>> I looked at the mentioned method (setType(String)). And found a
>> >>> suitable
>> >>> place where I could add the support for arrays. However, I'm afraid
>> >>> that
>> >>> JDT's AST class does not have a convenient newArray....() method.
>> >>>
>> >>> Or maybe I'm missing something?
>> >>>
>> >>> Cheers,
>> >>> Ivan
>> >>>
>> >>> _______________________________________________
>> >>> forge-dev mailing list
>> >>> forge-dev at lists.jboss.org
>> >>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Lincoln Baxter, III
>> >> http://ocpsoft.org
>> >> "Simpler is better."
>> >>
>> >> _______________________________________________
>> >> forge-dev mailing list
>> >> forge-dev at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/forge-dev
>> >>
>> >
>> >
>> > _______________________________________________
>> > forge-dev mailing list
>> > forge-dev at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/forge-dev
>> >
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>


More information about the forge-dev mailing list