Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 1.7.0
-
Fix Version/s: 1.6.8, 1.7.1, 1.8-beta-1
-
Component/s: Compiler
-
Labels:None
-
Number of attachments :
Description
The following script compiles but when run, class loading fails saying "java.lang.VerifyError: class B overrides final method"
class A {
def foo() {}
final def bar() {}
}
class B extends A {
def foo() {}
def bar() {}
}
B
If I swap the order of method definitions in class B as:
class A {
def foo() {}
final def bar() {}
}
class B extends A {
def bar() {}
def foo() {}
}
B
then it correctly gives the error message "You are not allowed to overwrite the final method bar() from class 'A'."
Fixed