acolyer [Wed, 17 Aug 2005 16:35:01 +0000 (16:35 +0000)]
deleted the section about declaring a pertypewithin aspect with a type variable. We could consider supporting this beyond AspectJ 1.5.0 perhaps, but not before.
aclement [Mon, 15 Aug 2005 13:56:59 +0000 (13:56 +0000)]
Fix for pr92880: I've removed the exception clause from the declaration of ajc$getInstance() and modified the internals to return null if an exception occurs rather than rethrowing it. I've only changed the code gen in the compiler layer, not in the weaver layer. (interestingly with only my compiler layer change, no tests fail...)
aclement [Mon, 15 Aug 2005 09:27:16 +0000 (09:27 +0000)]
genericitds: more method/ctor ITDs that use their target types generic type variables. plus some basic generic aspects that combine the building blocks
acolyer [Fri, 12 Aug 2005 16:00:00 +0000 (16:00 +0000)]
for one little change, this sure was a hell of a lot of work to track down. Fixes bug pr106130 where methods using iinc instructions with > 255 local vars were failing to generate wide versions of iinc instruction correctly. Only change in the jar is to IINC class.
acolyer [Fri, 12 Aug 2005 15:58:50 +0000 (15:58 +0000)]
for one little change, this sure was a hell of a lot of work to track down. Fixes bug pr106130 where methods using iinc instructions with > 255 local vars were failing to generate wide versions of iinc instruction correctly.
aclement [Fri, 12 Aug 2005 11:02:56 +0000 (11:02 +0000)]
genericitds: field type mungers now understand a map from type variable names to positions (for generic itds). Some changes to assignable rules to support the new possibilities.
aclement [Fri, 12 Aug 2005 11:01:44 +0000 (11:01 +0000)]
genericitds: when the compiler asks for a member that is in fact from an ITD on a generic type, we fix up the field and return it parameterized for the particular type.
aclement [Fri, 12 Aug 2005 11:00:13 +0000 (11:00 +0000)]
genericitds: loads of checks added for when specifying a generic target type for an ITD. Also builds the map from the names used in the ITD to the positions of the type variables in the generic type.
aclement [Fri, 12 Aug 2005 10:57:38 +0000 (10:57 +0000)]
genericitds: on first construction of the ITD, it builds some 'placeholder' type parameters to keep the eclipse compiler happy, these will be replaced later by the InterTypeMemberFinder when the compiler asks for the field (if anyone uses it...)
aclement [Fri, 12 Aug 2005 10:15:30 +0000 (10:15 +0000)]
genericitds: fields using target types tvars: New parameterization class that wraps an intertype field binding, like the one that wraps a normal field binding
acolyer [Thu, 11 Aug 2005 14:57:28 +0000 (14:57 +0000)]
fixed completely broken implementation of findAspectDeclaringParents and made sure that no declares can end up in the list of declares known to the world twice (this needed because declares are now added from concrete aspects so two concrete sub-aspects of the same abstract aspect will both pick up the same super declare)
aclement [Tue, 9 Aug 2005 10:19:41 +0000 (10:19 +0000)]
genericitds: 2 big changes here: I've modifed the super/extends stuff so its only in one place (UnresolvedType) - making it available through the type hierarchy. I've modified the TypeMap in the World to avoid putting entries in the type map which might confuse us later. This fix stops us putting parameterized types that are parameterized by type variables from a generic member into the typemap, since we may look them up later for another member that happened to use the same variable name but had different bounds specified. I'm sure its not perfect yet, but it is definetly improved. things like Enum<E> still go in the typemap since E is not a generic member type variable.