117 options.get("-g:") == null |
117 options.get("-g:") == null |
118 ? options.get("-g") != null |
118 ? options.get("-g") != null |
119 : options.get("-g:vars") != null; |
119 : options.get("-g:vars") != null; |
120 genCrt = options.get("-Xjcov") != null; |
120 genCrt = options.get("-Xjcov") != null; |
121 debugCode = options.get("debugcode") != null; |
121 debugCode = options.get("debugcode") != null; |
|
122 allowInvokedynamic = options.get("invokedynamic") != null; |
122 |
123 |
123 generateIproxies = |
124 generateIproxies = |
124 target.requiresIproxy() || |
125 target.requiresIproxy() || |
125 options.get("miranda") != null; |
126 options.get("miranda") != null; |
126 |
127 |
153 */ |
154 */ |
154 private final boolean lineDebugInfo; |
155 private final boolean lineDebugInfo; |
155 private final boolean varDebugInfo; |
156 private final boolean varDebugInfo; |
156 private final boolean genCrt; |
157 private final boolean genCrt; |
157 private final boolean debugCode; |
158 private final boolean debugCode; |
|
159 private final boolean allowInvokedynamic; |
158 |
160 |
159 /** Default limit of (approximate) size of finalizer to inline. |
161 /** Default limit of (approximate) size of finalizer to inline. |
160 * Zero means always use jsr. 100 or greater means never use |
162 * Zero means always use jsr. 100 or greater means never use |
161 * jsr. |
163 * jsr. |
162 */ |
164 */ |
2138 base.load(); |
2140 base.load(); |
2139 genNullCheck(tree.selected.pos()); |
2141 genNullCheck(tree.selected.pos()); |
2140 } |
2142 } |
2141 result = items. |
2143 result = items. |
2142 makeImmediateItem(sym.type, ((VarSymbol) sym).getConstValue()); |
2144 makeImmediateItem(sym.type, ((VarSymbol) sym).getConstValue()); |
|
2145 } else if (allowInvokedynamic && sym.kind == MTH && ssym == syms.invokeDynamicType.tsym) { |
|
2146 base.drop(); |
|
2147 result = items.makeDynamicItem(sym); |
2143 } else { |
2148 } else { |
2144 if (!accessSuper) |
2149 if (!accessSuper) |
2145 sym = binaryQualifier(sym, tree.selected.type); |
2150 sym = binaryQualifier(sym, tree.selected.type); |
2146 if ((sym.flags() & STATIC) != 0) { |
2151 if ((sym.flags() & STATIC) != 0) { |
2147 if (!selectSuper && (ssym == null || ssym.kind != TYP)) |
2152 if (!selectSuper && (ssym == null || ssym.kind != TYP)) |