src/share/classes/com/sun/tools/javac/jvm/Gen.java

changeset 267
e2722bd43f3a
parent 117
24a47c3062fe
child 308
03944ee4fac4
equal deleted inserted replaced
263:825f23a4f262 267:e2722bd43f3a
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))

mercurial