History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: BOO-804
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Cedric Vivier
Reporter: Cedric Vivier
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Boo

Making booc consuming/producing CLI compiler-related attributes

Created: 22/Feb/07 04:47 PM   Updated: 12/Jan/08 07:45 AM
Component/s: Compiler, Boo.Lang.CodeDom
Affects Version/s: 0.7.6
Fix Version/s: 0.8.1

Time Tracking:
Not Specified

File Attachments: 1. Text File module-fix.patch (4 kb)
2. Text File synthetic2.patch (19 kb)

Issue Links:
dependent
 


 Description  « Hide
Compiler should support compiler-related attributes.

Consuming :

  • System.ObsoleteAttribute
  • System.Diagnostics.ConditionalAttribute

Producing :

  • System.Runtime.CompilerServices.CompilerGeneratedAttribute
  • System.Runtime.CompilerServices.CompilerGlobalScopeAttribute ??


 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Doug H - 23/Feb/07 08:43 AM
Please attach the next two patches Cedric or whoever.
My password isn't working or I would go ahead and commit the first one.

The first one (synthetic2.patch) simply improves marking which nodes are generated by the compiler vs. the user (issynthetic):
http://groups.google.com/group/boolang/msg/21ba724d18699651?hl=en&
Also it adds the script for showing the ast after every step that I've had up on the website for 2 years.

The second patch replaces the use of Boo.Lang.ModuleAttribute with CompilerGlobalScopeAttribute. Since the attribute is in the .NET class library instead of boo.lang.dll, it solves a whole host of problems with the boo.lang.dll dependency. You can now use module methods/properties/fields in another boo library even if it was compiled with a different version of boo. Since you are about to start changing the version of boo with every update, this is even more important.


Doug H - 25/Feb/07 02:23 PM
I'll commit them then if I can get my svn access fixed: http://jira.codehaus.org/browse/HAUS-1465

Cedric Vivier - 25/Feb/07 03:28 PM
Sorry for the lag, Doug.
I tried to apply synthetic2.patch on the trunk but it seems it is either malformed or generated from an older revision, anyways I'm not sure we are not going to actually drop IsSynthetic (c.f discussion "Debug symbols" on the mailing-list), or at least making this property read-only from the outside (the node would know if it is synthetic depending of the current step or the lexicalinfo or a mix of both for instance). Rodrigo what do you think?

About the module patch, I've just commited it after also modifying testcases still using Boo.Lang.ModuleAttribute, thanks!


Cedric Vivier - 08/May/07 04:51 PM
We really need to support ObsoleteAttribute since the deprecation of ModuleAttribute is not very friendly.

Cedric Vivier - 15/Jun/07 07:36 AM
Added ConditionalAttribute.

Avishay Lavie - 06/Jan/08 01:44 PM
This might also be a good opportunity to remember System.Runtime.CompilerServices.ExtensionAttribute, but that may warrant its own JIRA issue.

Cedric Vivier - 12/Jan/08 07:45 AM
fixed in 2815.

i'll file individual bug for internal obsoleteattribute which is not yet supported.