| Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| index 927fe99f103a19d6726b0f25f2f631fcace6b1f2..d02c69f88d06a122edc56bd5cb77ccc613e3f7ac 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java
|
| @@ -597,9 +597,7 @@ public class Resolver {
|
| // scope of the default expressions so we can report better errors.
|
| for (DartParameter parameter : parameters) {
|
| assert parameter.getElement() != null;
|
| - if (parameter.getQualifier() instanceof DartThisExpression) {
|
| - checkParameterInitializer(node, parameter);
|
| - } else {
|
| + if (!(parameter.getQualifier() instanceof DartThisExpression)) {
|
| getContext().declare(
|
| parameter.getElement(),
|
| ResolverErrorCode.DUPLICATE_PARAMETER,
|
| @@ -1786,43 +1784,6 @@ public class Resolver {
|
| }
|
| }
|
|
|
| - private void checkParameterInitializer(DartMethodDefinition method, DartParameter parameter) {
|
| - if (Elements.isNonFactoryConstructor(method.getElement())) {
|
| - if (method.getModifiers().isRedirectedConstructor()) {
|
| - onError(parameter.getName(),
|
| - ResolverErrorCode.PARAMETER_INIT_WITH_REDIR_CONSTRUCTOR);
|
| - }
|
| -
|
| - FieldElement element =
|
| - Elements.lookupLocalField((ClassElement) currentHolder, parameter.getParameterName());
|
| - if (element == null) {
|
| - onError(parameter, ResolverErrorCode.PARAMETER_NOT_MATCH_FIELD,
|
| - parameter.getName());
|
| - } else if (element.isStatic()) {
|
| - onError(parameter,
|
| - ResolverErrorCode.PARAMETER_INIT_STATIC_FIELD,
|
| - parameter.getName());
|
| - }
|
| -
|
| - // Field parameters are not visible as parameters, so we do not declare them
|
| - // in the context. Instead we record the resolved field element.
|
| - Elements.setParameterInitializerElement(parameter.getElement(), element);
|
| -
|
| - // The editor expects the referenced elements to be non-null
|
| - DartPropertyAccess prop = (DartPropertyAccess)parameter.getName();
|
| - prop.setElement(element);
|
| - prop.getName().setElement(element);
|
| -
|
| - // If no type specified, use type of field.
|
| - if (parameter.getTypeNode() == null && element != null) {
|
| - Elements.setType(parameter.getElement(), element.getType());
|
| - }
|
| - } else {
|
| - onError(parameter.getName(),
|
| - ResolverErrorCode.PARAMETER_INIT_OUTSIDE_CONSTRUCTOR);
|
| - }
|
| - }
|
| -
|
| private void resolveInitializers(DartMethodDefinition node, Set<FieldElement> intializedFields) {
|
| Iterator<DartInitializer> initializers = node.getInitializers().iterator();
|
| ConstructorElement constructorElement = null;
|
|
|