Lines Matching defs:Name

77  * Arguments and return values must exactly match when their "Name" types are
86 * <li>V = void: a function result may be void if and only if its Name is of type "V"
123 final Name[] names;
134 int arity, Name[] names, int result) {
144 int arity, Name[] names) {
150 Name[] formals, Name[] temps, Name result) {
155 private static Name[] buildNames(Name[] formals, Name[] temps, Name result) {
158 Name[] names = Arrays.copyOf(formals, length);
179 private static Name[] buildEmptyNames(int arity, String basicTypeSignature) {
185 Name[] names = arguments(numRes, basicTypeSignature.substring(0, arity));
192 private static int fixResult(int result, Name[] names) {
202 private static boolean namesOK(int arity, Name[] names) {
204 Name n = names[i];
216 Name[] oldNames = null;
219 Name n = names[i];
233 Name fixed = names[i].replaceNames(oldNames, names, changesStart, i);
241 Name n = names[i], n2 = internArgument(n);
256 * Check that all embedded Name references are localizable to this lambda,
259 * Note that a Name can be local to multiple lambdas, as long as
261 * This allows Name references to be freely reused to construct
269 Name n = names[i];
275 Name n = names[i];
278 if (arg instanceof Name) {
279 Name n2 = (Name) arg;
299 Name n = names[result];
611 /** Evaluate a single Name within this form, applying its function to its arguments. */
612 Object interpretName(Name name, Object[] values) throws Throwable {
618 if (a instanceof Name) {
619 int i2 = ((Name)a).index();
714 Name n = names[i];
734 * Apply immediate binding for a Name in this form indicated by its position relative to the form.
740 assert pos > 0 && pos < arity && names[pos].type == basicType && Name.typesMatch(basicType, value);
743 Name[] names2 = new Name[names.length - 1];
745 Name n = names[r];
752 names2[w] = new Name(w, n.type);
758 if (arg instanceof Name) {
759 int ni = ((Name) arg).index;
773 names2[w] = new Name(n.function, arguments2);
783 Name name = names[namePos];
787 LambdaForm bind(Name name, Name binding,
808 Name[] names2 = names.clone();
815 Name n = names[i];
826 Name n2 = new Name(newGetter, n.arguments);
845 Name n = names2[insPos+1];
864 boolean contains(Name name) {
880 Name[] names2 = Arrays.copyOf(names, length + inTypes);
891 names2[argpos + i] = new Name(types[i]);
914 Name[] names2 = new Name[length - outArgs + inTypes];
931 Name n = names[skip+j];
934 Name n2 = names2[skip+i];
936 names2[skip+i] = n2 = new Name(types[i]);
951 Name n = names[j];
952 Name n2 = names2[i];
962 static boolean permutedTypesMatch(int[] reorder, char[] types, Name[] names, int skip) {
1238 for (Name n : names) n.resolve();
1266 static final class Name {
1272 private Name(int index, char type, NamedFunction function, Object[] arguments) {
1279 Name(MethodHandle function, Object... arguments) {
1282 Name(MemberName function, Object... arguments) {
1285 Name(NamedFunction function, Object... arguments) {
1291 Name(int index, char type) {
1294 Name(char type) {
1314 Name newIndex(int i) {
1318 Name cloneWithIndex(int i) {
1320 return new Name(i, type, function, newArguments);
1322 Name replaceName(Name oldName, Name newName) { // FIXME: use replaceNames uniformly
1338 return new Name(function, arguments);
1340 Name replaceNames(Name[] oldNames, Name[] newNames, int start, int end) {
1346 if (arguments[j] instanceof Name) {
1347 Name n = (Name) arguments[j];
1368 return new Name(function, arguments);
1374 if (arguments[j] instanceof Name) {
1375 Name n = (Name) arguments[j];
1402 if (a instanceof Name || a instanceof Integer)
1412 if (object instanceof Name) {
1413 return ((Name)object).type == parameterType;
1426 * Does this Name precede the given binding node in some canonical order?
1432 boolean isSiblingBindingBefore(Name binding) {
1455 public boolean equals(Name that) {
1468 return x instanceof Name && equals((Name)x);
1478 static Name argument(int which, char type) {
1481 return new Name(which, type);
1484 static Name internArgument(Name n) {
1489 static Name[] arguments(int extra, String types) {
1491 Name[] names = new Name[length + extra];
1496 static Name[] arguments(int extra, char... types) {
1498 Name[] names = new Name[length + extra];
1503 static Name[] arguments(int extra, List<Class<?>> types) {
1505 Name[] names = new Name[length + extra];
1510 static Name[] arguments(int extra, Class<?>... types) {
1512 Name[] names = new Name[length + extra];
1517 static Name[] arguments(int extra, MethodType types) {
1519 Name[] names = new Name[length + extra];
1526 private static final Name[][] INTERNED_ARGUMENTS
1527 = new Name[ALL_TYPES.length()][INTERNED_ARGUMENT_LIMIT];
1532 INTERNED_ARGUMENTS[tn][i] = new Name(i, type);
1539 static Name constantZero(int which, char type) {
1542 private static final Name[] CONSTANT_ZERO
1543 = new Name[ALL_TYPES.length()];
1555 Name n = new Name(zcon).newIndex(0);