On 05.11.2015 15:46, Mattias Gaertner wrote:
For example a sorted TStringList with the 'Objects' as the
position.
The list is seldom edited so editing does not need much speed.
Fast search is important. As long as there are only 20 types the
structure is irrelevant. But when we extend the list for all types of
the FPC packages the list gets big.

Yes, I'll change the array to TAvlTree, indexed by type/alias name and an order/position number. Seems to be a little bit cleaner than casting TObject to a number.

On 05.11.2015 16:23, Mattias Gaertner wrote:
The 500 is for codetools an xtConstOrdInteger.
It is FindExprTypeAsString that returns 'Integer' for xtConstOrdInteger.

We needed "xtConstOrdSmallInt", "xtConstOrdShortInt", "xtConstOrdInteger/xtConstOrdLongInt" and "xtConstOrdInt64" for it (e.g. 500 would return xtConstOrdShortInt). It looks like an overkill for me, so let's keep the limitation for now with the knowledge that if the need arises, we could extend it.

On 05.11.2015 16:23, Mattias Gaertner wrote:
But what type should "i:=3.0" create? Single, Double, Extended,
> >glFloat?
>Yes, whatever: single, double, extended, glFloat - maybe create an IDE
>option for default integer/float/string/boolean types? The user then can
>decide what precision he wants to use by default. Do you think it is
>possible?
Yes, why not?

The question was a little bit confusing :) Yes, adding IDE options with default types for Integer+Real+String constants looks very useful to me. Boolean isn't needed, IMO, but maybe it should be added as well for the sake of completeness.

Ondrej


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to