Issue Details (XML | Word | Printable)

Key: FDT-815
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: FDT Team
Reporter: Romuald Quantin
Votes: 2
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
FDT

AS3 FDT parser with Flex SDK 3.5

Created: 12/Feb/10 02:28 PM   Updated: 22/Jun/12 07:01 PM
Component/s: Editor (Deprecated)
Affects Version/s: 3.5
Fix Version/s: FDT 5.5
Security Level: public

Time Tracking:
Not Specified

Environment: FDT 3.5 + Flex SDK 3.5


 Description  « Hide
I get some FDT parser errors in the FDT editor that appears only with FDT 3.5 coupled with Flex SDK 3.5.

Those errors are only a parser matter as it compile just fine (Flex 3.5 for both parsing and compile). Also going in the FDT Parser (project > right click > properties > FDT Parser), and select a 3.3 Flex SDK removes the parsing errors.

The errors are also not consistent as I get them in some classes but not others.

Some example of the errors are:

  • E4X filter with the name method (method nor found)

var list:XMLList = describeType(myClass)..*.(name() == "accessor")

  • super keyword (not allowed in static context, which is not true)

private static var _name:String = getQualifiedClassName(super);

These are not errors! As I said, it compiles fine and the parsing errors are not there with a 3.3 Flex SDK.

Here are some screenshots:
http://www.soundstep.com/temp/fdt/super.png
http://www.soundstep.com/temp/fdt/xml1.png
http://www.soundstep.com/temp/fdt/xml2.png
http://www.soundstep.com/temp/fdt/xml3.png

Romu



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Romuald Quantin added a comment - 12/Feb/10 02:44 PM
Here is how to reproduce:

1. create a new FDT AS3 project
2. select the Flex SDK 3.5 and leave the rest by default
3. Create a Main Document Class and paste the following:

package {
import flash.display.Sprite;
import flash.utils.describeType;
import flash.utils.getQualifiedClassName;
public class Main extends Sprite {
private static var _name:String = getQualifiedClassName(super);
public function Main() { var list:XMLList = describeType(this)..*.(name() == "accessor"); trace(_name); trace(list.toXMLString()); }
}
}

FDT 3.2 => does not show any parsing errors
FDT 3.5 => show 2 parsing errors (describe in the first post)

Here is a screen:
http://www.soundstep.com/temp/fdt/main.png


Oliver List added a comment - 12/Feb/10 03:18 PM
At least the super thing seems to be illegal:

http://livedocs.adobe.com/flex/3/langref/statements.html#super

"You cannot use the super statement in a static method."


Romuald Quantin added a comment - 12/Feb/10 03:28 PM
The super statement is not used in a static method, it is assigning a String to a static var, which is not the same at all:

private static var _name:String = getQualifiedClassName(super);

is the same as:

private static var _name:String;
public function Main() {
_name = getQualifiedClassName(super);
}

Legal and working, compiler is happy and it behaves as it should.


Claus Wahlers added a comment - 05/Apr/10 09:35 PM
I have similar issues with FDT 4 Milestone 1 and Flex SDK 3.5