| Summary: | AnyException must be fully qualified | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Joseph Vincens <jvincens> | ||||
| Component: | EDT | Assignee: | Project Inbox <edt.compiler-inbox> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | carrollk, jqian, jspadea, mheitz | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Joseph Vincens
I don't know how this was fixed, but the problem seems to be gone. The code below compiles without errors. package me; library scratch function x() throw new AnyException; end end Created attachment 199700 [details]
TestDriver2 archived project file
I have the latest loaded and I'm still seeing this problem. I've attached an archived project file TestDriver2.zip. It has my own example and function x getting errors on the EGL files: IWN.VAL.3440.e 24/20 boolean002 - Invalid type AnyException. The type in an onException clause must be an exception record or the type egl.core.AnyException. At line 24 in file \TestDriver\eglsource\primitiveTypes\boolean002.egl and IWN.VAL.3444.e 5/15 scratch - The type anyexception must be an exception record. At line 5 in file \TestDriver\eglsource\me\scratch.egl Kathy is still seeing this problem. I don't think it's a language issue. It appears to be a compiler issue because we are getting the error during compilation. I don't see the problem with Kathy's project, and neither does Joe, but let's keep this bug open for now. I imported cleaned the project and saw no problems. I closed EDT reopened EDT clean and I see the problem on 2 egl files. After many cleans, restarts, and closing & opening projects, I finally got it to happen too. I found the cause of the problem, but after speaking with Paul this one is going to temporarily go on the backburner. The cause is we have two versions of AnyExecption: egl.core.AnyException (the original type, defined as a Record) and egl.lang.AnyException (new to EDT, defined as an ExternalType). When using the unqualified version in your code, whichever IR was processed LAST will be present in the unqualified part name cache. The validation code expects it to be the original version; if the new version "wins" then you'll get validation errors, and only a restart will (potentially) fix it. Paul said that egl.core.AnyException is probably going away. If this is true, then validation will need to be updated to work with egl.lang.AnyException. I no longer see this issue. changing target from Future to Final, since the problem is fixed in 070. |