Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 362868 - Wrong generated java class for Xtend create function
Summary: Wrong generated java class for Xtend create function
Status: CLOSED FIXED
Alias: None
Product: TMF
Classification: Modeling
Component: Xtext (show other bugs)
Version: 2.1.1   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 critical (vote)
Target Milestone: M4   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 362695 363071 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-11-04 04:54 EDT by Serano Colameo CLA
Modified: 2017-09-19 17:39 EDT (History)
3 users (show)

See Also:
sven.efftinge: juno+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Serano Colameo CLA 2011-11-04 04:54:48 EDT
Build Identifier: 2.1.0.v201111010612

xtend:

	def Package create result: icmDslFactory.createPackage createPackage() {
		result
	}

java:

  public com.csg.cs.tools.mdgen.icm.icmDsl.Package createPackage() {
    final ArrayList<?>_cacheKey = CollectionLiterals.newArrayList();
    final com.csg.cs.tools.mdgen.icm.icmDsl.Package _result;
    synchronized (_createCache_createPackage) {
      if (_createCache_createPackage.containsKey(_cacheKey)) {
        return _createCache_createPackage.get(_cacheKey);
      }
      Icm2Icm _Icm2Icm = Icm2Icm; // <== BUG
      IcmDslFactory _icmDslFactory = _Icm2Icm.getIcmDslFactory();
      com.csg.cs.tools.mdgen.icm.icmDsl.Package _createPackage = _icmDslFactory.createPackage();
      _result = _createPackage;
      _createCache_createPackage.put(_cacheKey, _result);
    }
    _init_createPackage(_result);
    return _result;
  }


Reproducible: Always

Steps to Reproduce:
1. see <== bug
2.
3.
Comment 1 Serano Colameo CLA 2011-11-04 05:54:32 EDT
here the correct java code which was generated with xtext 2.0.1:

  public Package createDefPackage(final Package origPackage) {
    final ArrayList<?>_cacheKey = CollectionLiterals.newArrayList(origPackage);
    final Package result;
    synchronized (_createCache_createDefPackage) {
      if (_createCache_createDefPackage.containsKey(_cacheKey)) {
        return _createCache_createDefPackage.get(_cacheKey);
      }
      IcmDslFactory _icmDslFactory = this.getIcmDslFactory();
      Package _createPackage = _icmDslFactory.createPackage();
      result = _createPackage;
      _createCache_createDefPackage.put(_cacheKey, result);

/serano
Comment 2 Sven Efftinge CLA 2011-11-07 03:14:47 EST
pushed to master
Comment 3 Sebastian Zarnekow CLA 2011-11-07 12:27:53 EST
*** Bug 363071 has been marked as a duplicate of this bug. ***
Comment 4 Sebastian Zarnekow CLA 2011-11-07 13:53:30 EST
*** Bug 362695 has been marked as a duplicate of this bug. ***
Comment 5 Karsten Thoms CLA 2017-09-19 17:28:36 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 6 Karsten Thoms CLA 2017-09-19 17:39:45 EDT
Closing all bugs that were set to RESOLVED before Neon.0