Thanks Andy.
As always, the turnaround time of features and improvements is just...
amazing!
________________________________
From: [email protected]
[mailto:[email protected]] On Behalf Of Andy Clement
Sent: 25 February 2009 20:17
To: [email protected]
Subject: Re: [aspectj-users] if(ENABLED) causes weave for
constant
Done, will be in next dev build.
Now for:
final static boolean enabled = false;
pointcut p(): .... && if(enabled);
there will be nothing woven.
And as a lucky bonus, for:
final static boolean enabled = true;
pointcut p(): ... && if (enabled);
It will not bother to call the if() method - and if the rest of
the pointcut can be evaluated statically then the whole thing will be
evaluated statically and there will be no runtime test.
cheers,
Andy.
2009/2/25 Andy Clement <[email protected]>
I think we should do some minimal level of analysis for
constants.
Raised as:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=266165
Andy.
2009/2/25 Neale Upstone <[email protected]>
Thanks Bruno, that's working perfectly.
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On
Behalf Of Bruno
> De Fraine
> Sent: 25 February 2009 12:01
> To: [email protected]
> Subject: Re: [aspectj-users] if(ENABLED)
causes weave for constant
>
> On 25 Feb 2009, at 11:45, Neale Upstone wrote:
>
> > For some development/debugging aspects, I
want to be able
> to switch
> > them
> > on and off and cause the weaver to ignore
them.
>
> You can try the following:
>
> pointcut fail();
> pointcut isEnabled(): !fail(); // Remove "!"
to disable
>
> before() : publicCalls() && isEnabled()
> {
> ...
> }
>
> >> From a weaving efficiency point of view,
wouldn't it be better to
> >> detect
> > that if() has been passed a constant and for
the pointcut
> > "publicCalls()
> > && if(ENABLED)" to apply to no joinpoints?
>
>
> Unlike Java, it seems that AspectJ delays all
if-tests until
> runtime.
> However, I believe the research on SCoPE uses
partial evaluation
> techniques to optimize this and many other
if-tests, see:
> http://portal.acm.org/citation.cfm?id=1218582
>
> Best regards,
> Bruno
>
> --
> Bruno De Fraine
> Vrije Universiteit Brussel
> Faculty of Applied Sciences, DINF - SSEL
> Room 4K208, Pleinlaan 2, B-1050 Brussels
> tel: +32 (0)2 629 29 75
> fax: +32 (0)2 629 28 70
> e-mail: [email protected]
>
>
>
_______________________________________________
> aspectj-users mailing list
> [email protected]
>
https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
**********************************************************************
IMPORTANT NOTICE.
Confidentiality: This e-mail and its
attachments are intended for the above named only and may be
confidential. If they have come to you in error you must take no action
based on them, nor must you copy or show them to anyone; please reply to
this e-mail and highlight the error.
Security Warning: Please note that this e-mail
has been created in the knowledge that Internet e-mail is not a 100%
secure communications medium.
We advise that you understand and observe this
lack of security when e-mailing us.
Viruses: Although we have taken steps to ensure
that this e-mail and attachments are free from any virus, we advise that
in keeping with good computing practice the recipient should ensure they
are actually virus free.
Monitoring and Scanning: Cambridge Cognition
has monitoring and scanning systems in place in relation to emails sent
and received to: monitor / record business communications; prevent and
detect crime; investigate the use of the Company's internal and external
email system; and provide evidence of compliance with business
practices.
Cambridge Cognition Limited
Company Registration Number 4338746
Registered address:
Tunbridge Court
Tunbridge Lane
Bottisham
Cambridge
CB25 9TU
UK
**********************************************************************
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users
**********************************************************************
IMPORTANT NOTICE.
Confidentiality: This e-mail and its attachments are intended for the above
named only and may be confidential. If they have come to you in error you must
take no action based on them, nor must you copy or show them to anyone; please
reply to this e-mail and highlight the error.
Security Warning: Please note that this e-mail has been created in the
knowledge that Internet e-mail is not a 100% secure communications medium.
We advise that you understand and observe this lack of security when e-mailing
us.
Viruses: Although we have taken steps to ensure that this e-mail and
attachments are free from any virus, we advise that in keeping with good
computing practice the recipient should ensure they are actually virus free.
Monitoring and Scanning: Cambridge Cognition has monitoring and scanning
systems in place in relation to emails sent and received to: monitor / record
business communications; prevent and detect crime; investigate the use of the
Company's internal and external email system; and provide evidence of
compliance with business practices.
Cambridge Cognition Limited
Company Registration Number 4338746
Registered address:
Tunbridge Court
Tunbridge Lane
Bottisham
Cambridge
CB25 9TU
UK
**********************************************************************
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users