Lines Matching defs:field

42     MemberDefinition field;
54 public MethodExpression(long where, Expression right, MemberDefinition field, Expression args[]) {
55 super(METHOD, where, field.getType().getReturnType(), right, args);
56 this.id = field.getName();
57 this.field = field;
58 this.clazz = field.getClassDefinition();
67 MemberDefinition field, Expression args[], boolean forceSuper) {
68 this(where, right, field, args);
89 ClassDefinition ctxClass = ctx.field.getClassDefinition();
121 staticRef = ctx.field.isStatic();
133 c = ctx.field.getClassDeclaration();
156 if (!ctx.field.isConstructor()) {
297 // Get the method field, given the argument types
300 if (field == null) {
302 field = clazz.matchMethod(env, sourceClass, id, argTypes);
304 if (field == null) {
330 type = field.getType().getReturnType();
333 if (staticRef && !field.isStatic()) {
335 field, field.getClassDeclaration());
339 if (field.isProtected()
345 && !sourceClass.protectedAccess(env, field, right.type)) {
347 field.getName(), field.getClassDeclaration(),
354 // <class>.super.<field>) and then perform an 'invokespecial'.
359 if (!field.isPrivate()) {
366 implMethod = sourceClass.getAccessMember(env, ctx, field, true);
371 // Access method for private field if not in the same class.
372 if (implMethod == null && field.isPrivate()) {
373 ClassDefinition cdef = field.getClassDefinition();
375 implMethod = cdef.getAccessMember(env, ctx, field, false);
380 if (field.isAbstract() && (right != null) && (right.op == SUPER)) {
381 env.error(where, "invoke.abstract", field, field.getClassDeclaration());
385 if (field.reportDeprecated(env)) {
386 if (field.isConstructor()) {
387 env.error(where, "warn.constr.is.deprecated", field);
390 field, field.getClassDefinition());
395 if (field.isConstructor() && ctx.field.equals(field)) {
396 env.error(where, "recursive.constr", field);
411 ClassDefinition declarer = field.getClassDefinition();
412 if (!field.isConstructor() &&
418 // field + " declared in class " +
427 // method in clazz and set `field' to refer to it.
428 field =
429 MemberDefinition.makeProxyMember(field, clazz, env);
433 sourceClass.addDependency(field.getClassDeclaration());
435 ctxClass.addDependency(field.getClassDeclaration());
439 env.error(where, "class.not.found", ee.name, ctx.field);
443 env.error(where, "ambig.field", id, ee.field1, ee.field2);
448 if ((right == null) && !field.isStatic()) {
449 right = ctx.findOuterLink(env, where, field);
454 argTypes = field.getType().getArgumentTypes();
459 if (field.isConstructor()) {
460 MemberDefinition m = field;
519 //System.out.println("Calling " + field + " via " + implMethod);
521 if (field.isStatic()) {
538 if (ctx.field.isConstructor() &&
539 field.isConstructor() && (right != null) && (right.op == SUPER)) {
549 ClassDeclaration exceptions[] = field.getExceptions(env);
550 if (isArray && (field.getName() == idClone) &&
551 (field.getType().getArgumentTypes().length == 0)) {
572 if (ctx.field.isConstructor() &&
573 field.isConstructor() && (right != null) && (right.op == THIS)) {
574 ClassDefinition cls = field.getClassDefinition();
648 System.out.println("INLINE METHOD " + field + " in " + ctx.field);
650 LocalMember v[] = LocalMember.copyArguments(ctx, field);
654 if (field.isStatic()) {
674 Expression e = new InlineMethodExpression(where, type, field, new CompoundStatement(where, body));
683 right = field.isStatic() ? right.inline(env, ctx) : right.inlineValue(env, ctx);
690 ClassDefinition ctxClass = ctx.field.getClassDefinition();
693 if (env.opt() && field.isInlineable(env, clazz.isFinal()) &&
697 ((right == null) || (right.op==THIS) || field.isStatic()) &&
700 // the field, the field's class, and right's declared type.
702 field.getClassDeclaration()) &&
703 ctxClass.permitInlinedAccess(env, field) &&
708 (!ctx.field.isInitializer()) && ctx.field.isMethod() &&
709 (ctx.getInlineMemberContext(field) == null)) {
710 Statement s = (Statement)field.getValue(env);
728 right = field.isStatic() ? right.inline(env, ctx) : right.inlineValue(env, ctx);
730 if (field.getName().equals(idInit)) {
731 ClassDefinition refc = field.getClassDefinition();
742 ClassDefinition ctxClass = ctx.field.getClassDefinition();
744 if (env.opt() && field.isInlineable(env, clazz.isFinal()) &&
748 ((right == null) || (right.op==THIS) || field.isStatic()) &&
751 // the field, the field's class, and right's declared type.
753 field.getClassDeclaration()) &&
754 ctxClass.permitInlinedAccess(env, field) &&
758 (!ctx.field.isInitializer()) && ctx.field.isMethod() &&
759 (ctx.getInlineMemberContext(field) == null)) {
760 Statement s = (Statement)field.getValue(env);
798 ClassDefinition clazz = ctx.field.getClassDefinition();
855 if (field.isStatic()) {
869 ClassDefinition refc = field.getClassDefinition();
878 r.codeArguments(env, ctx, asm, where, field);
896 if (field.isStatic()) {
897 asm.add(where, opc_invokestatic, field);
898 } else if (field.isConstructor() || field.isPrivate() || isSuper) {
899 asm.add(where, opc_invokespecial, field);
900 } else if (field.getClassDefinition().isInterface()) {
901 asm.add(where, opc_invokeinterface, field);
903 asm.add(where, opc_invokevirtual, field);
908 ClassDefinition refc = ctx.field.getClassDefinition();
913 r.codeInitialization(env, ctx, asm, where, field);