Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 349571

Summary: [parser] cross-module template call is not resolved when parameter type package is not explicitly referenced
Product: [Modeling] Acceleo Reporter: Vlad Gheorghe <vlad.gheorghe>
Component: CoreAssignee: Project Inbox <acceleo-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: minor    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
test project showing the spurious error none

Description Vlad Gheorghe CLA 2011-06-16 10:51:50 EDT
Build Identifier: 3.0.3.v20110302-0402


Given an Acceleo project where :
* module generate('http://my/1')
 - import mod2
* module mod2('http://www.eclipse.org/emf/2002/Ecore')
* template public mod2::mod2(n : ELong)


When template mod2::mod2 is invoked from module generate, the following error is reported :
"illegal operation signature: (mod2(Integer))"


Workaround: add the ecore NSURI to the declaration of module generate:
module generate('http://my/1', 'http://www.eclipse.org/emf/2002/Ecore')



Reproducible: Always
Comment 1 Vlad Gheorghe CLA 2011-06-16 10:54:34 EDT
Created attachment 198116 [details]
test project showing the spurious error
Comment 2 Stephane Begaudeau CLA 2011-06-24 08:24:56 EDT
This is the intended behavior. In order to compile an Acceleo module, all the metamodels defining all the concepts used in the module have to be *explicitly* declared. One should be able to determine quickly what metamodels are used by a module.
Comment 3 Laurent Goubet CLA 2011-08-18 04:21:49 EDT
Closing our "resolved" and "verified" bugs.