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

Bug 530581

Summary: [9] ModuleBinding.tagBits should be long
Product: [Eclipse Project] JDT Reporter: Till Brychcy <register.eclipse>
Component: CoreAssignee: Till Brychcy <register.eclipse>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 4.8   
Target Milestone: 4.8 M6   
Hardware: PC   
OS: Mac OS X   
See Also: https://git.eclipse.org/r/116488
https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=6f6207970ba7847a3686a6da19c083165c7ed208
Whiteboard:
Bug Depends on:    
Bug Blocks: 530580    

Description Till Brychcy CLA 2018-01-31 17:31:34 EST
While trying to create a test for Bug 530580, I noted that something
doesn't work at expected. 
During debugging, I noted that the annotations of the module are resolved again and again. 
Then I noted that ModuleBinding.tagBits stays 0, even though code like:
	this.tagBits |= TagBits.AnnotationResolved;
is executed.

The answer: tagBits is int, but TagBits.AnnotationResolved is 
	long AnnotationResolved = ASTNode.Bit34L;

(Its surprising that there is no warning for this)

After changing tagBits to long, an error is reported in org.eclipse.jdt.internal.compiler.apt.model.ModuleElementImpl, which already has a very correct TODO:
 		int modifiers = this.binding.tagBits; // TODO: This is wrong, this should be "modifiers"

Just doing what the TODO says is correct AFAICS.
Comment 1 Eclipse Genie CLA 2018-01-31 17:33:27 EST
New Gerrit change created: https://git.eclipse.org/r/116488
Comment 3 Till Brychcy CLA 2018-02-02 16:12:02 EST
Released for 4.8M6
Comment 4 Manoj N Palat CLA 2018-03-08 00:27:43 EST
Verified for Eclipse Photon (4.8) M6 with Build id: I20180306-0800
Comment 5 Manoj N Palat CLA 2018-03-08 00:28:08 EST
(In reply to comment #4)
> Verified for Eclipse Photon (4.8) M6 with Build id: I20180306-0800
by code inspection