Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
|
Brian Wilkerson
2012/07/12 15:35:11
nit: copyright year
| |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package com.google.dart.compiler; | 5 package com.google.dart.compiler; |
| 6 | 6 |
| 7 import com.google.dart.compiler.common.HasSourceInfo; | 7 import com.google.dart.compiler.common.HasSourceInfo; |
| 8 import com.google.dart.compiler.common.SourceInfo; | 8 import com.google.dart.compiler.common.SourceInfo; |
| 9 import com.google.dart.compiler.parser.DartScanner.Location; | 9 import com.google.dart.compiler.parser.DartScanner.Location; |
| 10 import com.google.dart.compiler.parser.DartScanner.Position; | |
| 11 | 10 |
| 12 /** | 11 /** |
| 13 * Information about a compilation error. | 12 * Information about a compilation error. |
| 14 * | 13 * |
| 15 * @see DartCompilerListener | 14 * @see DartCompilerListener |
| 16 */ | 15 */ |
| 17 public class DartCompilationError { | 16 public class DartCompilationError { |
| 18 | 17 |
| 19 /** | 18 /** |
| 20 * The character offset from the beginning of the source (zero based) where th e error occurred. | 19 * The character offset from the beginning of the source (zero based) where th e error occurred. |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 102 * @param arguments the arguments used to build the error message | 101 * @param arguments the arguments used to build the error message |
| 103 */ | 102 */ |
| 104 public DartCompilationError(Source source, | 103 public DartCompilationError(Source source, |
| 105 Location location, | 104 Location location, |
| 106 ErrorCode errorCode, | 105 ErrorCode errorCode, |
| 107 Object... arguments) { | 106 Object... arguments) { |
| 108 this.source = source; | 107 this.source = source; |
| 109 this.errorCode = errorCode; | 108 this.errorCode = errorCode; |
| 110 this.message = String.format(errorCode.getMessage(), arguments); | 109 this.message = String.format(errorCode.getMessage(), arguments); |
| 111 if (location != null) { | 110 if (location != null) { |
| 112 Position begin = location.getBegin(); | 111 offset = location.getBegin(); |
| 113 if (begin != null) { | 112 SourceInfo sourceInfo = new SourceInfo(source, offset, 0); |
| 114 offset = begin.getPos(); | 113 lineNumber = sourceInfo.getLine(); |
| 115 lineNumber = begin.getLine(); | 114 columnNumber = sourceInfo.getColumn(); |
| 116 columnNumber = begin.getCol(); | 115 length = location.getEnd() - offset; |
| 117 } | |
| 118 Position end = location.getEnd(); | |
| 119 if (end != null) { | |
| 120 length = end.getPos() - offset; | |
| 121 if (length < 0) { | |
| 122 length = 0; | |
| 123 } | |
| 124 } | |
| 125 } | 116 } |
| 126 } | 117 } |
| 127 | 118 |
| 128 /** | 119 /** |
| 129 * The column number in the source (one based) where the error occurred. | 120 * The column number in the source (one based) where the error occurred. |
| 130 */ | 121 */ |
| 131 public int getColumnNumber() { | 122 public int getColumnNumber() { |
| 132 return columnNumber; | 123 return columnNumber; |
| 133 } | 124 } |
| 134 | 125 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 191 | 182 |
| 192 @Override | 183 @Override |
| 193 public String toString() { | 184 public String toString() { |
| 194 StringBuilder sb = new StringBuilder(); | 185 StringBuilder sb = new StringBuilder(); |
| 195 sb.append((source != null) ? source.getName() : "<unknown source>"); | 186 sb.append((source != null) ? source.getName() : "<unknown source>"); |
| 196 sb.append("(" + lineNumber + ":" + columnNumber + "): "); | 187 sb.append("(" + lineNumber + ":" + columnNumber + "): "); |
| 197 sb.append(message); | 188 sb.append(message); |
| 198 return sb.toString(); | 189 return sb.toString(); |
| 199 } | 190 } |
| 200 } | 191 } |
| OLD | NEW |