diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2013-05-23 22:58:34 +0200 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2013-05-23 22:58:34 +0200 |
commit | 9c1e29842e65bf20895db9e19336b2ca948236ad (patch) | |
tree | 396adccb0d61e049526622956c5ff59b5a32710c /src/core/lombok/javac | |
parent | 4152eee126bcb6a0403d3e7a79fe336944031268 (diff) | |
download | lombok-9c1e29842e65bf20895db9e19336b2ca948236ad.tar.gz lombok-9c1e29842e65bf20895db9e19336b2ca948236ad.tar.bz2 lombok-9c1e29842e65bf20895db9e19336b2ca948236ad.zip |
Added methods to obtain JLS support-level version information from AST/LombokNode. Tests updates to honour these with //version X at the top
of any test file (now also in eclipse, which until now always said it was v6)
Diffstat (limited to 'src/core/lombok/javac')
-rw-r--r-- | src/core/lombok/javac/JavacAST.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/lombok/javac/JavacAST.java b/src/core/lombok/javac/JavacAST.java index 9e15516e..8197dae6 100644 --- a/src/core/lombok/javac/JavacAST.java +++ b/src/core/lombok/javac/JavacAST.java @@ -34,6 +34,7 @@ import javax.tools.JavaFileObject; import lombok.core.AST; import com.sun.tools.javac.code.Symtab; +import com.sun.tools.javac.code.Source; import com.sun.tools.javac.model.JavacElements; import com.sun.tools.javac.model.JavacTypes; import com.sun.tools.javac.tree.JCTree; @@ -113,6 +114,15 @@ public class JavacAST extends AST<JavacAST, JavacNode, JCTree> { for (JavacNode child : node.down()) child.traverse(visitor); } + @Override public int getSourceVersion() { + try { + String nm = Source.instance(context).name(); + int underscoreIdx = nm.indexOf('_'); + if (underscoreIdx > -1) return Integer.parseInt(nm.substring(underscoreIdx + 1)); + } catch (Exception ignore) {} + return 6; + } + @Override public int getLatestJavaSpecSupported() { return Javac.getJavaCompilerVersion(); } |