I’d love `@PackageScope` to be removed (or deprecated) in favor of `package` keyword. In this case I woudn’t have to scan for it.
— Daniil Ovchinnikov JetBrains jetbrains.com “Drive to develop” > On 15 Dec 2017, at 16:36, mg <mg...@arscreat.com> wrote: > > Hi Daniil, > > thank you for explaining that, as most devs with regards to IDEs I am a user > and have little insight in the challenges of its inner workings. > > I have never had the need to use @PackageScope, but the problem I see is that > the annotation (in typical Groovy style), can do more than a keyword, due to > it supporting parameters to restrict its applicability to e.g. class fields > only - so I guess you would have to scan for @PackageScope in any case... > > Cheers, > mg > > > -------- Ursprüngliche Nachricht -------- > Von: Daniil Ovchinnikov <daniil.ovchinni...@jetbrains.com> > Datum: 15.12.17 14:13 (GMT+01:00) > An: MG <mg...@arscreat.com> > Betreff: Re: Package specific syntax > > Each annotation requires resolution, which slows the IDE. With a keyword we > can get visibility of members instantly, for example for showing appropriate > icon in Project View. > > We need to resolve _all_ annotations and check if there are annotation > collectors just to find that given member doesn’t have @PackageScope. > At this point all we need to know is whether containing class of a given > member has @PackageScope, and we start to resolve all annotations of a class > and so on. > > — > > Daniil Ovchinnikov > JetBrains > jetbrains.com <http://jetbrains.com/> > “Drive to develop” > >> On 14 Dec 2017, at 04:11, MG <mg...@arscreat.com >> <mailto:mg...@arscreat.com>> wrote: >> >> Why is a keyword better than an annotation from an IDE developer's >> perspective (considering Groovy already has tons of annotations which more >> complex semantics than @PackageScope) ? >> >> >> On 13.12.2017 23:14, Daniil Ovchinnikov wrote: >>> This is the best way from IDE perspective. >>> >>> — >>> >>> Daniil Ovchinnikov >>> JetBrains >>> jetbrains.com <http://jetbrains.com/> >>> “Drive to develop" >>> >>>> On 14 Dec 2017, at 01:03, Nathan Harvey <nathanwhar...@gmail.com >>>> <mailto:nathanwhar...@gmail.com>> wrote: >>>> >>>> In Java, methods and fields use package scope by default. In Groovy, they >>>> use public. In order to make something package scope, you have to use the >>>> @PackageScope annotation. This makes code look a bit messy but also doesn't >>>> seem very intuitive. What if the "package" keyword was able to be applied, >>>> in exactly the same way as "public" and "private" are? >>>> >>>> Example: >>>> package void foo() {} >>>> >>>> >>>> >>>> -- >>>> Sent from: http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html >>>> <http://groovy.329449.n5.nabble.com/Groovy-Dev-f372993.html> >>> >> >