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

Bug 352027

Summary: Missing and incorrect operators
Product: z_Archived Reporter: Matt Heitz <mheitz>
Component: EDTAssignee: Paul Harmon <pharmon>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P1    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Matt Heitz CLA 2011-07-13 16:28:16 EDT
Some operators from RBD are missing: substring and dynamic access.

New operators for EDT need to be added: <<, >>, >>>, ~, and the ternary if-then-else.  ~ is a unary operator.

Operation.NULL_CONCAT has the wrong value.  It's set to "?::".  Remove the second colon.
Comment 1 Matt Heitz CLA 2011-07-13 17:06:59 EDT
This one is really important, blocking some of my work defining the types.
Comment 2 Matt Heitz CLA 2011-07-14 07:53:35 EDT
Paul, I changed my mind about array access.  We should have an operator for it too.
Comment 3 Matt Heitz CLA 2011-07-27 16:10:33 EDT
I just fixed the value of Operation.NULL_CONCAT and added the following fields:
	String ARRAY_ACCESS = "[]";
	String SUBSTRING = "[:";
	String DYNAMIC_ACCESS = "['";

In org.eclipse.edt.mof.egl, ArrayAccess, DynamicAccess, and SubstringAccess now have a getOperation() method.  They each use a method called resolveOperation(), to be implemented by Paul.

I also added an operation field to those three types in Expressions.egl .
Comment 4 Matt Heitz CLA 2011-07-27 16:11:25 EDT
The new operators <<, >>, >>>, ~, and the ternary if-then-else will not be included in 0.7 so they won't be implemented under this bug.  We'll open a new bug for them when the time comes.
Comment 5 Matt Heitz CLA 2011-09-15 14:00:59 EDT
This is done.