You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by jo...@apache.org on 2019/04/04 22:37:44 UTC

[royale-compiler] 01/03: ClassDirectiveProcessor: fixed issue where methods could be marked abstract without an error (references #73) AbstractOutsideClassProblem: fixed wording of invalid abstract usage error

This is an automated email from the ASF dual-hosted git repository.

joshtynjala pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git

commit d20bb6be38ecb4d29d987187089f37a3a40f1ef4
Author: Josh Tynjala <jo...@apache.org>
AuthorDate: Wed Apr 3 09:37:41 2019 -0700

    ClassDirectiveProcessor: fixed issue where methods could be marked abstract without an error (references #73)
    AbstractOutsideClassProblem: fixed wording of invalid abstract usage error
---
 .../compiler/internal/as/codegen/ClassDirectiveProcessor.java     | 8 ++++----
 .../royale/compiler/problems/AbstractOutsideClassProblem.java     | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
index ff3a627..5196c56 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/as/codegen/ClassDirectiveProcessor.java
@@ -1092,10 +1092,10 @@ class ClassDirectiveProcessor extends DirectiveProcessor
             {
                 classScope.addProblem(new VirtualOutsideClassProblem(site) );
             }
-            if( modifiersSet.hasModifier(ASModifier.ABSTRACT) )
-            {
-                classScope.addProblem(new AbstractOutsideClassProblem(site) );
-            }
+        }
+        if( modifiersSet.hasModifier(ASModifier.ABSTRACT) )
+        {
+            classScope.addProblem(new AbstractOutsideClassProblem(site) );
         }
         classScope.getMethodBodySemanticChecker().checkForDuplicateModifiers(f);
         // Functions in a class allow all modifiers
diff --git a/compiler/src/main/java/org/apache/royale/compiler/problems/AbstractOutsideClassProblem.java b/compiler/src/main/java/org/apache/royale/compiler/problems/AbstractOutsideClassProblem.java
index 4fea9f1..9a6c4a3 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/problems/AbstractOutsideClassProblem.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/problems/AbstractOutsideClassProblem.java
@@ -28,7 +28,7 @@ public final class AbstractOutsideClassProblem extends CodegenProblem
 {
     // TODO ErrorMSG: not specific to methods
     public static final String DESCRIPTION =
-            "The ${ABSTRACT} attribute may be used only ${CLASS} property definitions.";
+            "The ${ABSTRACT} attribute can only be used on a ${CLASS} definition.";
 
     public static final int errorCode = 1011;