Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java

Issue 24191008: Report CTEC.CONST_NOT_INITIALIZED (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java
index b1e726d8df12402d92eae95dd3c0dcdc18084480..1401f1e842c7e4fa7badf1389d98c549771a86eb 100644
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/verifier/ErrorVerifier.java
@@ -1078,7 +1078,13 @@ public class ErrorVerifier extends RecursiveASTVisitor<Void> {
for (Entry<FieldElement, INIT_STATE> entry : fieldElementsMap.entrySet()) {
if (entry.getValue() == INIT_STATE.NOT_INIT) {
FieldElement fieldElement = entry.getKey();
- if (fieldElement.isFinal() || fieldElement.isConst()) {
+ if (fieldElement.isConst()) {
+ errorReporter.reportError(
+ CompileTimeErrorCode.CONST_NOT_INITIALIZED,
+ node.getReturnType(),
+ fieldElement.getName());
+ foundError = true;
+ } else if (fieldElement.isFinal()) {
errorReporter.reportError(
StaticWarningCode.FINAL_NOT_INITIALIZED,
node.getReturnType(),
@@ -2894,7 +2900,8 @@ public class ErrorVerifier extends RecursiveASTVisitor<Void> {
*
* @param node the class declaration to test
* @return {@code true} if and only if an error code is generated on the passed node
- * @see CompileTimeErrorCode#FINAL_NOT_INITIALIZED
+ * @see CompileTimeErrorCode#CONST_NOT_INITIALIZED
+ * @see StaticWarningCode#FINAL_NOT_INITIALIZED
*/
private boolean checkForFinalNotInitialized(ClassDeclaration node) {
NodeList<ClassMember> classMembers = node.getMembers();
@@ -2922,21 +2929,29 @@ public class ErrorVerifier extends RecursiveASTVisitor<Void> {
*
* @param node the class declaration to test
* @return {@code true} if and only if an error code is generated on the passed node
- * @see CompileTimeErrorCode#FINAL_NOT_INITIALIZED
+ * @see CompileTimeErrorCode#CONST_NOT_INITIALIZED
+ * @see StaticWarningCode#FINAL_NOT_INITIALIZED
*/
private boolean checkForFinalNotInitialized(VariableDeclarationList node) {
if (isInNativeClass) {
return false;
}
boolean foundError = false;
- if (!node.isSynthetic() && (node.isConst() || node.isFinal())) {
+ if (!node.isSynthetic()) {
NodeList<VariableDeclaration> variables = node.getVariables();
for (VariableDeclaration variable : variables) {
if (variable.getInitializer() == null) {
- errorReporter.reportError(
- StaticWarningCode.FINAL_NOT_INITIALIZED,
- variable.getName(),
- variable.getName().getName());
+ if (node.isConst()) {
+ errorReporter.reportError(
+ CompileTimeErrorCode.CONST_NOT_INITIALIZED,
+ variable.getName(),
+ variable.getName().getName());
+ } else if (node.isFinal()) {
+ errorReporter.reportError(
+ StaticWarningCode.FINAL_NOT_INITIALIZED,
+ variable.getName(),
+ variable.getName().getName());
+ }
foundError = true;
}
}

Powered by Google App Engine
This is Rietveld 408576698