Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(693)

Unified Diff: dart/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java

Issue 20722006: Removed compiler/ directory from repository (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java
diff --git a/dart/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java b/dart/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java
deleted file mode 100644
index 20559ef66000682afdded7a81c8e199fbe8f23f1..0000000000000000000000000000000000000000
--- a/dart/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.compiler.resolver;
-
-import com.google.dart.compiler.ErrorCode;
-import com.google.dart.compiler.ast.ASTNodes;
-import com.google.dart.compiler.ast.ASTVisitor;
-import com.google.dart.compiler.ast.DartFunction;
-import com.google.dart.compiler.ast.DartFunctionTypeAlias;
-import com.google.dart.compiler.ast.DartIdentifier;
-import com.google.dart.compiler.ast.DartNode;
-import com.google.dart.compiler.ast.DartParameter;
-import com.google.dart.compiler.ast.DartThisExpression;
-import com.google.dart.compiler.ast.DartTypeNode;
-import com.google.dart.compiler.ast.DartTypeParameter;
-import com.google.dart.compiler.common.HasSourceInfo;
-import com.google.dart.compiler.type.FunctionType;
-import com.google.dart.compiler.type.Type;
-import com.google.dart.compiler.type.Types;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-/**
- * Shared visitor between Resolver and MemberBuilder.
- */
-abstract class ResolveVisitor extends ASTVisitor<Element> {
- private final CoreTypeProvider typeProvider;
-
- ResolveVisitor(CoreTypeProvider typeProvider) {
- this.typeProvider = typeProvider;
- }
-
- abstract ResolutionContext getContext();
-
- final MethodElement resolveFunction(DartFunction node, MethodElement element) {
- for (DartParameter parameter : node.getParameters()) {
- Elements.addParameter(element, (VariableElement) parameter.accept(this));
- }
- resolveFunctionWithParameters(node, element);
- Type returnType =
- resolveType(
- node.getReturnTypeNode(),
- element.getModifiers().isStatic(),
- element.getModifiers().isFactory(),
- true,
- TypeErrorCode.NO_SUCH_TYPE,
- TypeErrorCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS);
- ClassElement functionElement = typeProvider.getFunctionType().getElement();
- FunctionType type = Types.makeFunctionType(getContext(), functionElement,
- element.getParameters(), returnType);
- Elements.setType(element, type);
- for (DartParameter parameter : node.getParameters()) {
- if (!(parameter.getQualifier() instanceof DartThisExpression) &&
- DartIdentifier.isPrivateName(parameter.getElement().getName())) {
- if (parameter.getModifiers().isOptional()) {
- getContext().onError(parameter.getName(),
- ResolverErrorCode.OPTIONAL_PARAMETERS_CANNOT_START_WITH_UNDER);
- }
- if (parameter.getModifiers().isNamed()) {
- getContext().onError(parameter.getName(),
- ResolverErrorCode.NAMED_PARAMETERS_CANNOT_START_WITH_UNDER);
- }
- }
- }
- return element;
- }
-
- /**
- * Allows subclass to process {@link DartFunction} element with parameters, but before
- * {@link FunctionType} is created for it.
- */
- protected void resolveFunctionWithParameters(DartFunction node, MethodElement element) {
- }
-
- final FunctionAliasElement resolveFunctionAlias(DartFunctionTypeAlias node) {
- HashSet<String> parameterNames = new HashSet<String>();
- for (DartTypeParameter parameter : node.getTypeParameters()) {
- TypeVariableElement typeVar = (TypeVariableElement) parameter.getElement();
- String parameterName = typeVar.getName();
- if (parameterNames.contains(parameterName)) {
- getContext().onError(parameter, ResolverErrorCode.DUPLICATE_TYPE_VARIABLE, parameterName);
- } else {
- parameterNames.add(parameterName);
- }
- getContext().getScope().declareElement(parameterName, typeVar);
- }
- return null;
- }
-
- @Override
- public Element visitParameter(DartParameter node) {
- Type type = resolveType(node.getTypeNode(), ASTNodes.isStaticContext(node),
- ASTNodes.isFactoryContext(node), true, TypeErrorCode.NO_SUCH_TYPE,
- TypeErrorCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS);
- VariableElement element =
- Elements.parameterElement(
- getEnclosingElement(),
- node,
- node.getParameterName(),
- node.getModifiers());
- List<DartParameter> functionParameters = node.getFunctionParameters();
- if (functionParameters != null) {
- List<VariableElement> parameterElements =
- new ArrayList<VariableElement>(functionParameters.size());
- for (DartParameter parameter: functionParameters) {
- parameterElements.add((VariableElement) parameter.accept(this));
- }
- ClassElement functionElement = typeProvider.getFunctionType().getElement();
- type = Types.makeFunctionType(getContext(), functionElement, parameterElements, type);
- }
- Elements.setType(element, type);
- recordElement(node.getName(), element);
- return recordElement(node, element);
- }
-
- protected EnclosingElement getEnclosingElement() {
- return null;
- }
-
- final Type resolveType(DartTypeNode node, boolean isStatic, boolean isFactory,
- boolean isAnnotation, ErrorCode errorCode, ErrorCode wrongNumberErrorCode) {
- if (node == null) {
- return getTypeProvider().getDynamicType();
- }
-// assert node.getType() == null || node.getType() instanceof DynamicType;
- Type type = getContext().resolveType(node, isStatic, isFactory, isAnnotation, errorCode,
- wrongNumberErrorCode);
- if (type == null) {
- type = getTypeProvider().getDynamicType();
- }
- node.setType(type);
- Element element = type.getElement();
- recordElement(node.getIdentifier(), element);
- checkDeprecated(node, element);
- return type;
- }
-
- protected final void checkDeprecated(HasSourceInfo nameNode, Element element) {
- if (element != null && element.getMetadata().isDeprecated()) {
- getContext().onError(nameNode, TypeErrorCode.DEPRECATED_ELEMENT,
- Elements.getDeprecatedElementTitle(element));
- }
- }
-
- protected <E extends Element> E recordElement(DartNode node, E element) {
- node.getClass();
- if (element == null) {
- // TypeAnalyzer will diagnose unresolved identifiers.
- return null;
- }
- node.setElement(element);
- return element;
- }
-
- CoreTypeProvider getTypeProvider() {
- return typeProvider;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698