Chromium Code Reviews| Index: pkg/compiler/lib/src/resolution/access_semantics.dart |
| diff --git a/pkg/compiler/lib/src/resolution/access_semantics.dart b/pkg/compiler/lib/src/resolution/access_semantics.dart |
| index a99db1f9756cd7204459e701bb4a00979f6e846f..2e9c09e43003aafcc76262ea5e383b262c6dd660 100644 |
| --- a/pkg/compiler/lib/src/resolution/access_semantics.dart |
| +++ b/pkg/compiler/lib/src/resolution/access_semantics.dart |
| @@ -27,18 +27,30 @@ enum AccessKind { |
| /// an enclosing function or method. |
| LOCAL_FUNCTION, |
| - /// The destination of the access is a variable that is defined locally within |
| - /// an enclosing function or method. |
| + /// The destination of the access is a non-final variable that is defined |
| + /// locally within an enclosing function or method. |
| LOCAL_VARIABLE, |
| - /// The destination of the access is a variable that is defined as a parameter |
| - /// to an enclosing function or method. |
| + /// The destination of the access is a final variable that is defined locally |
| + /// within an enclosing function or method. |
| + FINAL_LOCAL_VARIABLE, |
| + |
| + /// The destination of the access is a variable that is defined as a non-final |
| + /// parameter to an enclosing function or method. |
| PARAMETER, |
| - /// The destination of the access is a field that is defined statically within |
| - /// a class. |
| + /// The destination of the access is a variable that is defined as a final |
| + /// parameter to an enclosing function or method. |
| + FINAL_PARAMETER, |
| + |
| + /// The destination of the access is a non-final field that is defined |
| + /// statically within a class. |
| STATIC_FIELD, |
| + /// The destination of the access is a final field that is defined statically |
| + /// within a class. |
| + STATIC_FINAL_FIELD, |
|
karlklose
2015/05/13 07:25:59
I would use FINAL as the prefix for all of these v
Johnni Winther
2015/05/13 08:47:59
Done.
|
| + |
| /// The destination of the access is a method that is defined statically |
| /// within a class. |
| STATIC_METHOD, |
| @@ -51,10 +63,14 @@ enum AccessKind { |
| /// statically within a class. |
| STATIC_SETTER, |
| - /// The destination of the access is a top level variable defined within a |
| - /// library. |
| + /// The destination of the access is a non-final top level variable defined |
| + /// within a library. |
| TOPLEVEL_FIELD, |
| + /// The destination of the access is a final top level variable defined within |
| + /// a library. |
| + TOPLEVEL_FINAL_FIELD, |
| + |
| /// The destination of the access is a top level method defined within a |
| /// library. |
| TOPLEVEL_METHOD, |
| @@ -91,10 +107,14 @@ enum AccessKind { |
| /// of the enclosing class. |
| THIS_PROPERTY, |
| - /// The destination of the access is a field of the super class of the |
| - /// enclosing class. |
| + /// The destination of the access is a non-final field of the super class of |
| + /// the enclosing class. |
| SUPER_FIELD, |
| + /// The destination of the access is a final field of the super class of the |
| + /// enclosing class. |
| + SUPER_FINAL_FIELD, |
| + |
| /// The destination of the access is a method of the super class of the |
| /// enclosing class. |
| SUPER_METHOD, |
| @@ -122,16 +142,26 @@ enum AccessKind { |
| } |
| enum CompoundAccessKind { |
| - /// Read from a static getter and write to static setter. |
| + /// Read from a static getter and write to a static setter. |
| STATIC_GETTER_SETTER, |
| - /// Read from a static method (closurize) and write to static setter. |
| + /// Read from a static method (closurize) and write to a static setter. |
| STATIC_METHOD_SETTER, |
| + /// Read from an unresolved static getter and write to a static setter. |
| + UNRESOLVED_STATIC_GETTER, |
| + /// Read from a static getter and write to an unresolved static setter. |
| + UNRESOLVED_STATIC_SETTER, |
| + |
| /// Read from a top level getter and write to a top level setter. |
| TOPLEVEL_GETTER_SETTER, |
| /// Read from a top level method (closurize) and write to top level setter. |
| TOPLEVEL_METHOD_SETTER, |
| + /// Read from an unresolved top level getter and write to a top level setter. |
| + UNRESOLVED_TOPLEVEL_GETTER, |
| + /// Read from a top level getter and write to an unresolved top level setter. |
| + UNRESOLVED_TOPLEVEL_SETTER, |
| + |
| /// Read from one superclass field and write to another. |
| SUPER_FIELD_FIELD, |
| /// Read from a superclass field and write to a superclass setter. |
| @@ -258,6 +288,9 @@ class StaticAccess extends AccessSemantics { |
| StaticAccess.superField(FieldElement this.element) |
| : super._(AccessKind.SUPER_FIELD); |
| + StaticAccess.superFinalField(FieldElement this.element) |
| + : super._(AccessKind.SUPER_FINAL_FIELD); |
| + |
| StaticAccess.superMethod(MethodElement this.element) |
| : super._(AccessKind.SUPER_METHOD); |
| @@ -273,12 +306,21 @@ class StaticAccess extends AccessSemantics { |
| StaticAccess.localVariable(LocalVariableElement this.element) |
| : super._(AccessKind.LOCAL_VARIABLE); |
| + StaticAccess.finalLocalVariable(LocalVariableElement this.element) |
| + : super._(AccessKind.FINAL_LOCAL_VARIABLE); |
| + |
| StaticAccess.parameter(ParameterElement this.element) |
| : super._(AccessKind.PARAMETER); |
| + StaticAccess.finalParameter(ParameterElement this.element) |
| + : super._(AccessKind.FINAL_PARAMETER); |
| + |
| StaticAccess.staticField(FieldElement this.element) |
| : super._(AccessKind.STATIC_FIELD); |
| + StaticAccess.staticFinalField(FieldElement this.element) |
| + : super._(AccessKind.STATIC_FINAL_FIELD); |
| + |
| StaticAccess.staticMethod(MethodElement this.element) |
| : super._(AccessKind.STATIC_METHOD); |
| @@ -291,6 +333,9 @@ class StaticAccess extends AccessSemantics { |
| StaticAccess.topLevelField(FieldElement this.element) |
| : super._(AccessKind.TOPLEVEL_FIELD); |
| + StaticAccess.topLevelFinalField(FieldElement this.element) |
| + : super._(AccessKind.TOPLEVEL_FINAL_FIELD); |
| + |
| StaticAccess.topLevelMethod(MethodElement this.element) |
| : super._(AccessKind.TOPLEVEL_METHOD); |