diff options
Diffstat (limited to 'test/core/src/lombok/CompilerMessageMatcher.java')
-rw-r--r-- | test/core/src/lombok/CompilerMessageMatcher.java | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/test/core/src/lombok/CompilerMessageMatcher.java b/test/core/src/lombok/CompilerMessageMatcher.java index b7902395..af12e199 100644 --- a/test/core/src/lombok/CompilerMessageMatcher.java +++ b/test/core/src/lombok/CompilerMessageMatcher.java @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2012-2013 The Project Lombok Authors. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ package lombok; import java.io.BufferedReader; @@ -11,6 +32,8 @@ import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import lombok.javac.CapturingDiagnosticListener.CompilerMessage; + public class CompilerMessageMatcher { /** Line Number (starting at 1) */ private final long line; @@ -25,6 +48,10 @@ public class CompilerMessageMatcher { this.messageParts = Arrays.asList(message.split("\\s+")); } + public static CompilerMessageMatcher asCompilerMessageMatcher(CompilerMessage message) { + return new CompilerMessageMatcher(message.getLine(), message.getColumnOrPosition(), message.getMessage()); + } + @Override public String toString() { StringBuilder parts = new StringBuilder(); for (String part : messageParts) parts.append(part).append(" "); @@ -33,10 +60,10 @@ public class CompilerMessageMatcher { } public boolean matches(CompilerMessage message) { - if (message.line != this.line) return false; - if (message.position != this.position) return false; + if (message.getLine() != this.line) return false; + if (message.getColumnOrPosition() != this.position) return false; for (String token : messageParts) { - if (!message.message.contains(token)) return false; + if (!message.getMessage().contains(token)) return false; } return true; } |