Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Case insensitive language and Xtext 2.0
Case insensitive language and Xtext 2.0 [message #644723] Mon, 13 December 2010 22:49 Go to next message
Mark Christiaens is currently offline Mark ChristiaensFriend
Messages: 63
Registered: October 2010
Member
I'm reworking my VHDL-implementation from Xtext 1.0.1 to 2.0 (working off of the nightly builds). I was wondering if the following code (from ImportScope) is correct when dealing with a case-insensitive language (which VHDL is):

Iterable<Iterable<IEObjectDescription>> iterables = transform(normalizers, new Function<ImportNormalizer, Iterable<IEObjectDescription>>(){
			public Iterable<IEObjectDescription> apply(final ImportNormalizer normalizer) {
				final QualifiedName resolved = normalizer.resolve(name);
				if (resolved!=null) {
					final ISelector.SelectByName selector2 = new ISelector.SelectByName(resolved, ignoreCase);
					selector2.getDelegateSelectors().addAll(selectByName.getDelegateSelectors());
					Iterable<IEObjectDescription> elements = scopeToImportFrom.getElements(selector2);
					Function<IEObjectDescription, IEObjectDescription> aliaser = new Function<IEObjectDescription, IEObjectDescription>() {
						public IEObjectDescription apply(IEObjectDescription from) {
							final QualifiedName deresolved = normalizer.deresolve(from.getName());
							if (deresolved==null)
								throw new IllegalStateException("Couldn't deresolve "+from.getName()+" with import "+normalizer);
							return new AliasedEObjectDescription(deresolved, from, ignoreCase);
						}
					};
					return transform(elements, aliaser);
				}
				return null;
			}
		});



The "normalizer.deresolve (...)" line doesn't seem to be able to take case-sensitiveness into account. I had a look at the ImportNormalizer class itself to see if I could tell it to be case insensitive. That doesn't seem to be the case either. Is this still missing functionality? Or am I missing something?
Re: Case insensitive language and Xtext 2.0 [message #644756 is a reply to message #644723] Tue, 14 December 2010 07:23 Go to previous messageGo to next message
Sebastian Zarnekow is currently offline Sebastian ZarnekowFriend
Messages: 3118
Registered: July 2009
Senior Member
Hi Mark,

case insensitivitiy for imports seems to be still missing. Please note
that we are aware of potential performance issues with the current
scoping implementation of Xtext 2.0 (which I'll look at, today).
A ticket that describes your issues with case insensitivity and imports
would be helpful, though.

Regards,
Sebastian
--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com

Am 13.12.10 23:49, schrieb Mark Christiaens:
> I'm reworking my VHDL-implementation from Xtext 1.0.1 to 2.0 (working
> off of the nightly builds). I was wondering if the following code (from
> ImportScope) is correct when dealing with a case-insensitive language
> (which VHDL is):
>
>
> Iterable<Iterable<IEObjectDescription>> iterables =
> transform(normalizers, new Function<ImportNormalizer,
> Iterable<IEObjectDescription>>(){
> public Iterable<IEObjectDescription> apply(final ImportNormalizer
> normalizer) {
> final QualifiedName resolved = normalizer.resolve(name);
> if (resolved!=null) {
> final ISelector.SelectByName selector2 = new
> ISelector.SelectByName(resolved, ignoreCase);
> selector2.getDelegateSelectors().addAll(selectByName.getDele gateSelectors());
>
> Iterable<IEObjectDescription> elements =
> scopeToImportFrom.getElements(selector2);
> Function<IEObjectDescription, IEObjectDescription> aliaser = new
> Function<IEObjectDescription, IEObjectDescription>() {
> public IEObjectDescription apply(IEObjectDescription from) {
> final QualifiedName deresolved = normalizer.deresolve(from.getName());
> if (deresolved==null)
> throw new IllegalStateException("Couldn't deresolve "+from.getName()+"
> with import "+normalizer);
> return new AliasedEObjectDescription(deresolved, from, ignoreCase);
> }
> };
> return transform(elements, aliaser);
> }
> return null;
> }
> });
>
>
>
> The "normalizer.deresolve (...)" line doesn't seem to be able to take
> case-sensitiveness into account. I had a look at the ImportNormalizer
> class itself to see if I could tell it to be case insensitive. That
> doesn't seem to be the case either. Is this still missing functionality?
> Or am I missing something?
>
Re: Case insensitive language and Xtext 2.0 [message #644797 is a reply to message #644756] Tue, 14 December 2010 09:37 Go to previous messageGo to next message
Mark Christiaens is currently offline Mark ChristiaensFriend
Messages: 63
Registered: October 2010
Member
I will make a ticket. Do you have any idea approx. when the case insensitive imports would be implemented?

For the time being, I'm planning to work around the issue by making all my test files lowercase and re-enabling case-sensitiveness.
Re: Case insensitive language and Xtext 2.0 [message #644806 is a reply to message #644797] Tue, 14 December 2010 09:52 Go to previous message
Mark Christiaens is currently offline Mark ChristiaensFriend
Messages: 63
Registered: October 2010
Member
https://bugs.eclipse.org/bugs/show_bug.cgi?id=332500
Previous Topic:Generating edit and editor code
Next Topic:Validation Thread (Job)
Goto Forum:
  


Current Time: Fri Apr 26 20:04:48 GMT 2024

Powered by FUDForum. Page generated in 0.03859 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top