check modifiers for local declarations

This commit is contained in:
Svetlana Isakova
2012-08-22 16:05:17 +04:00
parent 5bac198165
commit ea611cb51d
6 changed files with 25 additions and 6 deletions
@@ -124,6 +124,7 @@ public class ExpressionTypingVisitorForStatements extends ExpressionTypingVisito
}
scope.addVariableDescriptor(propertyDescriptor);
ModifiersChecker.create(context.trace).checkModifiersForLocalDeclaration(property);
return DataFlowUtils.checkStatementType(property, context, context.dataFlowInfo);
}
@@ -146,10 +147,13 @@ public class ExpressionTypingVisitorForStatements extends ExpressionTypingVisito
@Override
public JetTypeInfo visitNamedFunction(JetNamedFunction function, ExpressionTypingContext context) {
SimpleFunctionDescriptor functionDescriptor = context.expressionTypingServices.getDescriptorResolver().resolveFunctionDescriptor(scope.getContainingDeclaration(), scope, function, context.trace);
SimpleFunctionDescriptor functionDescriptor = context.expressionTypingServices.getDescriptorResolver().
resolveFunctionDescriptor(scope.getContainingDeclaration(), scope, function, context.trace);
scope.addFunctionDescriptor(functionDescriptor);
JetScope functionInnerScope = FunctionDescriptorUtil.getFunctionInnerScope(context.scope, functionDescriptor, context.trace);
context.expressionTypingServices.checkFunctionReturnType(functionInnerScope, function, functionDescriptor, context.dataFlowInfo, null, context.trace);
ModifiersChecker.create(context.trace).checkModifiersForLocalDeclaration(function);
return DataFlowUtils.checkStatementType(function, context, context.dataFlowInfo);
}