src/share/classes/com/sun/tools/javac/code/Symbol.java

changeset 1336
26d93df3905a
parent 1313
873ddd9f4900
child 1341
db36841709e4
     1.1 --- a/src/share/classes/com/sun/tools/javac/code/Symbol.java	Tue Sep 25 11:52:37 2012 +0100
     1.2 +++ b/src/share/classes/com/sun/tools/javac/code/Symbol.java	Tue Sep 25 11:53:18 2012 +0100
     1.3 @@ -1068,6 +1068,10 @@
     1.4              }
     1.5          }
     1.6  
     1.7 +        public boolean isDynamic() {
     1.8 +            return false;
     1.9 +        }
    1.10 +
    1.11          /** find a symbol that this (proxy method) symbol implements.
    1.12           *  @param    c       The class whose members are searched for
    1.13           *                    implementations
    1.14 @@ -1356,6 +1360,27 @@
    1.15          }
    1.16      }
    1.17  
    1.18 +    /** A class for invokedynamic method calls.
    1.19 +     */
    1.20 +    public static class DynamicMethodSymbol extends MethodSymbol {
    1.21 +
    1.22 +        public Object[] staticArgs;
    1.23 +        public Symbol bsm;
    1.24 +        public int bsmKind;
    1.25 +
    1.26 +        public DynamicMethodSymbol(Name name, Symbol owner, int bsmKind, MethodSymbol bsm, Type type, Object[] staticArgs) {
    1.27 +            super(0, name, type, owner);
    1.28 +            this.bsm = bsm;
    1.29 +            this.bsmKind = bsmKind;
    1.30 +            this.staticArgs = staticArgs;
    1.31 +        }
    1.32 +
    1.33 +        @Override
    1.34 +        public boolean isDynamic() {
    1.35 +            return true;
    1.36 +        }
    1.37 +    }
    1.38 +
    1.39      /** A class for predefined operators.
    1.40       */
    1.41      public static class OperatorSymbol extends MethodSymbol {

mercurial