src/share/classes/com/sun/tools/javac/comp/Attr.java

changeset 1761
78717f2d00e8
parent 1760
33d1937af1a3
child 1780
6e5076af4660
equal deleted inserted replaced
1760:33d1937af1a3 1761:78717f2d00e8
1054 VarSymbol v = tree.sym; 1054 VarSymbol v = tree.sym;
1055 Lint lint = env.info.lint.augment(v.annotations, v.flags()); 1055 Lint lint = env.info.lint.augment(v.annotations, v.flags());
1056 Lint prevLint = chk.setLint(lint); 1056 Lint prevLint = chk.setLint(lint);
1057 1057
1058 // Check that the variable's declared type is well-formed. 1058 // Check that the variable's declared type is well-formed.
1059 chk.validate(tree.vartype, env); 1059 boolean isImplicitLambdaParameter = env.tree.hasTag(LAMBDA) &&
1060 ((JCLambda)env.tree).paramKind == JCLambda.ParameterKind.IMPLICIT &&
1061 (tree.sym.flags() & PARAMETER) != 0;
1062 chk.validate(tree.vartype, env, !isImplicitLambdaParameter);
1060 deferredLintHandler.flush(tree.pos()); 1063 deferredLintHandler.flush(tree.pos());
1061 1064
1062 try { 1065 try {
1063 chk.checkDeprecatedAnnotation(tree.pos(), v); 1066 chk.checkDeprecatedAnnotation(tree.pos(), v);
1064 1067
2342 } 2345 }
2343 //reset previously set info 2346 //reset previously set info
2344 Type argType = arityMismatch ? 2347 Type argType = arityMismatch ?
2345 syms.errType : 2348 syms.errType :
2346 actuals.head; 2349 actuals.head;
2347 params.head.vartype = make.Type(argType); 2350 params.head.vartype = make.at(params.head).Type(argType);
2348 params.head.sym = null; 2351 params.head.sym = null;
2349 actuals = actuals.isEmpty() ? 2352 actuals = actuals.isEmpty() ?
2350 actuals : 2353 actuals :
2351 actuals.tail; 2354 actuals.tail;
2352 params = params.tail; 2355 params = params.tail;

mercurial