| Index: plugins/org.chromium.sdk/src/org/chromium/sdk/UpdatableScript.java
|
| diff --git a/plugins/org.chromium.sdk/src/org/chromium/sdk/UpdatableScript.java b/plugins/org.chromium.sdk/src/org/chromium/sdk/UpdatableScript.java
|
| index 4adbf2613875810c3c5161f3498b6c9815057e8a..cf5c95e9d22bd4a3cb447d7d5cdd562829ffe32b 100644
|
| --- a/plugins/org.chromium.sdk/src/org/chromium/sdk/UpdatableScript.java
|
| +++ b/plugins/org.chromium.sdk/src/org/chromium/sdk/UpdatableScript.java
|
| @@ -38,7 +38,7 @@ public interface UpdatableScript {
|
| * to be applied; may be null if backend or VM does not support
|
| */
|
| void success(Object report, ChangeDescription changeDescription);
|
| - void failure(String message);
|
| + void failure(String message, Failure details);
|
| }
|
|
|
| /**
|
| @@ -115,4 +115,38 @@ public interface UpdatableScript {
|
| */
|
| interface NewFunctionNode extends FunctionNode<NewFunctionNode> {
|
| }
|
| +
|
| + /**
|
| + * Specifies failure type.
|
| + */
|
| + interface Failure {
|
| + <R> R accept(Visitor<R> visitor);
|
| +
|
| + interface Visitor<R> {
|
| + R visitUnspecified();
|
| + R visitCompileError(CompileErrorFailure compileErrorFailure);
|
| + }
|
| +
|
| + Failure UNSPECIFIED = new Failure() {
|
| + @Override public <R> R accept(Visitor<R> visitor) {
|
| + return visitor.visitUnspecified();
|
| + }
|
| + };
|
| + }
|
| +
|
| + /**
|
| + * Describes failure caused by compile error.
|
| + */
|
| + interface CompileErrorFailure extends Failure {
|
| + /**
|
| + * A string message returned by JavaScript compiler.
|
| + */
|
| + String getCompilerMessage();
|
| +
|
| + /** @return error start position in text. */
|
| + TextStreamPosition getStartPosition();
|
| +
|
| + /** @return error end position in text. */
|
| + TextStreamPosition getEndPosition();
|
| + }
|
| }
|
|
|