diff -r 99983a4a593b -r 26d93df3905a src/share/classes/com/sun/tools/javac/code/Symbol.java --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java Tue Sep 25 11:52:37 2012 +0100 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java Tue Sep 25 11:53:18 2012 +0100 @@ -1068,6 +1068,10 @@ } } + public boolean isDynamic() { + return false; + } + /** find a symbol that this (proxy method) symbol implements. * @param c The class whose members are searched for * implementations @@ -1356,6 +1360,27 @@ } } + /** A class for invokedynamic method calls. + */ + public static class DynamicMethodSymbol extends MethodSymbol { + + public Object[] staticArgs; + public Symbol bsm; + public int bsmKind; + + public DynamicMethodSymbol(Name name, Symbol owner, int bsmKind, MethodSymbol bsm, Type type, Object[] staticArgs) { + super(0, name, type, owner); + this.bsm = bsm; + this.bsmKind = bsmKind; + this.staticArgs = staticArgs; + } + + @Override + public boolean isDynamic() { + return true; + } + } + /** A class for predefined operators. */ public static class OperatorSymbol extends MethodSymbol {