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

changeset 1336
26d93df3905a
parent 1313
873ddd9f4900
child 1341
db36841709e4
equal deleted inserted replaced
1335:99983a4a593b 1336:26d93df3905a
1064 s = "<" + ((ForAll)type).getTypeArguments() + ">" + s; 1064 s = "<" + ((ForAll)type).getTypeArguments() + ">" + s;
1065 s += "(" + type.argtypes((flags() & VARARGS) != 0) + ")"; 1065 s += "(" + type.argtypes((flags() & VARARGS) != 0) + ")";
1066 } 1066 }
1067 return s; 1067 return s;
1068 } 1068 }
1069 }
1070
1071 public boolean isDynamic() {
1072 return false;
1069 } 1073 }
1070 1074
1071 /** find a symbol that this (proxy method) symbol implements. 1075 /** find a symbol that this (proxy method) symbol implements.
1072 * @param c The class whose members are searched for 1076 * @param c The class whose members are searched for
1073 * implementations 1077 * implementations
1354 public List<Type> getThrownTypes() { 1358 public List<Type> getThrownTypes() {
1355 return asType().getThrownTypes(); 1359 return asType().getThrownTypes();
1356 } 1360 }
1357 } 1361 }
1358 1362
1363 /** A class for invokedynamic method calls.
1364 */
1365 public static class DynamicMethodSymbol extends MethodSymbol {
1366
1367 public Object[] staticArgs;
1368 public Symbol bsm;
1369 public int bsmKind;
1370
1371 public DynamicMethodSymbol(Name name, Symbol owner, int bsmKind, MethodSymbol bsm, Type type, Object[] staticArgs) {
1372 super(0, name, type, owner);
1373 this.bsm = bsm;
1374 this.bsmKind = bsmKind;
1375 this.staticArgs = staticArgs;
1376 }
1377
1378 @Override
1379 public boolean isDynamic() {
1380 return true;
1381 }
1382 }
1383
1359 /** A class for predefined operators. 1384 /** A class for predefined operators.
1360 */ 1385 */
1361 public static class OperatorSymbol extends MethodSymbol { 1386 public static class OperatorSymbol extends MethodSymbol {
1362 1387
1363 public int opcode; 1388 public int opcode;

mercurial