Hi Alex, My apologies, but I may have messed this directive up a bit with the earlier change from 'negative' to 'positive' semantics in the config settings. I just added compiler tests for the output variations and adjusted the logic for these checks to make them pass, so now the following should work properly:
@royalesuppresscompleximplicitcoercion false means 'don't suppress the coercion' (the coercion is on by default). This would be unusual to use, but could be to used to locally override a compilation config setting which suppresses it everywhere, so that it is still output inside a particular method, for example. It sounds like it is the opposite of the intent in your commit comment, but I guess you tried this because the boolean toggles were not working correctly/intuitively. if you want it suppressed locally, you should be able to use 'true' or use it with no additional specifier, otherwise you can also use it in a similar way to @royaleignorecoercion with specific types. This should work correctly now after my fix. for example: var classData:ASDocClass = masterData["filterData"][className]; you can use: @royalesuppresscompleximplicitcoercion ASDocClass but the following should (after the fix) suppress all implicit coercions in the annotated method scope : @royalesuppresscompleximplicitcoercion @royalesuppresscompleximplicitcoercion true If you want it off completely for the current build, it is best done via the config setting for the compilation, and then you need no annotations anywhere. I did provide some information about the config settings recently in a post, but I'm going to write this stuff up this week and add it to the docs. Sorry I should have done that already. I will get it done this week. Greg On Tue, Jun 18, 2019 at 6:02 AM <aha...@apache.org> wrote: > This is an automated email from the ASF dual-hosted git repository. > > aharui pushed a commit to branch develop > in repository https://gitbox.apache.org/repos/asf/royale-asjs.git > > commit a09ea1e3a835226ea880ca2bfa7161e11ece22a5 > Author: Alex Harui <aha...@apache.org> > AuthorDate: Mon Jun 17 11:01:52 2019 -0700 > > suppress implicit coercions because we cheat and use JSON objects > instead of actual instances > --- > examples/royale/ASDoc/src/main/royale/models/ASDocModel.as | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as > b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as > index bb530d7..493b46e 100644 > --- a/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as > +++ b/examples/royale/ASDoc/src/main/royale/models/ASDocModel.as > @@ -493,6 +493,9 @@ package models > } > } > > + /** > + * @royalesuppresscompleximplicitcoercion false > + */ > private function addIfNeededAndMakeAttributes(arr:Array, > data:ASDocClassEvents):void > { > var n:int = arr.length; > @@ -528,6 +531,9 @@ package models > arr.push(data); > } > > + /** > + * @royalesuppresscompleximplicitcoercion false > + */ > private function addAttributes(dest:ASDocClassEvents, > src:ASDocClassEvents):void > { > if (!src.tags) return; > @@ -884,6 +890,9 @@ package models > filterPackageList(); > } > > + /** > + * @royalesuppresscompleximplicitcoercion false > + */ > public function filterByTags(className:String):Boolean > { > var classData:ASDocClass = > masterData["filterData"][className]; > >