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

Unified Diff: dart/compiler/javatests/com/google/dart/compiler/type/TypeTestCase.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/javatests/com/google/dart/compiler/type/TypeTestCase.java
diff --git a/dart/compiler/javatests/com/google/dart/compiler/type/TypeTestCase.java b/dart/compiler/javatests/com/google/dart/compiler/type/TypeTestCase.java
deleted file mode 100644
index fae289ad806bc30e4d78c52bd3b43b0ef304ffe0..0000000000000000000000000000000000000000
--- a/dart/compiler/javatests/com/google/dart/compiler/type/TypeTestCase.java
+++ /dev/null
@@ -1,199 +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.type;
-
-import com.google.common.collect.Maps;
-import com.google.dart.compiler.DartCompilationError;
-import com.google.dart.compiler.DartCompilerListener;
-import com.google.dart.compiler.ErrorCode;
-import com.google.dart.compiler.SubSystem;
-import com.google.dart.compiler.ast.DartBlock;
-import com.google.dart.compiler.ast.DartFunction;
-import com.google.dart.compiler.ast.DartIdentifier;
-import com.google.dart.compiler.ast.DartInitializer;
-import com.google.dart.compiler.ast.DartMethodDefinition;
-import com.google.dart.compiler.ast.DartParameter;
-import com.google.dart.compiler.ast.DartStatement;
-import com.google.dart.compiler.ast.DartTypeNode;
-import com.google.dart.compiler.ast.Modifiers;
-import com.google.dart.compiler.resolver.ClassElement;
-import com.google.dart.compiler.resolver.Element;
-import com.google.dart.compiler.resolver.Elements;
-import com.google.dart.compiler.resolver.MethodNodeElement;
-import com.google.dart.compiler.resolver.TypeVariableElement;
-import com.google.dart.compiler.testing.TestCompilerContext;
-
-import junit.framework.TestCase;
-
-import org.junit.Assert;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-/**
- * Common superclass for type tests.
- */
-abstract class TypeTestCase extends TestCase {
-
- final Map<String, Element> coreElements = Maps.newHashMap();
- final ClassElement object = element("Object", null);
- final ClassElement function = element("Function", itype(object));
- final ClassElement number = element("num", itype(object));
- final ClassElement intElement = element("int", itype(number));
- final ClassElement doubleElement = element("double", itype(number));
- final ClassElement bool = element("bool", itype(object));
- final ClassElement string = element("String", itype(object));
- final ClassElement iterElement = element("Iterator", itype(object), typeVar("E", itype(object)));
- final ClassElement list = makeListElement();
- final ClassElement map = element("Map", itype(object),
- typeVar("K", itype(object)), typeVar("V", itype(object)));
- final ClassElement stackTrace = element("StackTrace", itype(object));
- final ClassElement reverseMap = makeReverseMap(map);
- final InterfaceType objectList = itype(list, itype(object));
- final InterfaceType objectMap = itype(map, itype(object), itype(object));
- final InterfaceType reverseObjectMap = itype(reverseMap, itype(object), itype(object));
- final InterfaceType stringIntMap = itype(map, itype(string), itype(intElement));
- final InterfaceType intStringMap = itype(map, itype(intElement), itype(string));
- final InterfaceType stringIntReverseMap = itype(reverseMap, itype(string), itype(intElement));
- final FunctionType returnObject = ftype(function, itype(object), null, null);
- final FunctionType returnString = ftype(function, itype(string), null, null);
- final FunctionType objectToObject = ftype(function, itype(object), null, null, itype(object));
- final FunctionType objectToString = ftype(function, itype(string), null, null, itype(object));
- final FunctionType stringToObject = ftype(function, itype(object), null, null, itype(string));
- final FunctionType stringAndIntToBool = ftype(function, itype(bool),
- null, null, itype(string), itype(intElement));
- final FunctionType stringAndIntToMap = ftype(function, stringIntMap,
- null, null, itype(string), itype(intElement));
- final ClassElement type = element("Type", itype(object));
- private int expectedTypeErrors = 0;
- private int foundTypeErrors = 0;
-
- abstract Types getTypes();
-
- ClassElement makeListElement() {
- final TypeVariable typeVar = typeVar("E", itype(object));
- final ClassElement element = element("List", itype(object), typeVar);
- DartTypeNode returnTypeNode = new DartTypeNode(new DartIdentifier("Iterator"),
- Arrays.asList(new DartTypeNode(new DartIdentifier("E"))));
-
- DartMethodDefinition iteratorMethod = DartMethodDefinition.create(
- new DartIdentifier("iterator"), new DartFunction(Collections.<DartParameter> emptyList(),
- -1, -1, -1, 0, new DartBlock(Collections.<DartStatement> emptyList()), returnTypeNode),
- Modifiers.NONE, Collections.<DartInitializer> emptyList());
- MethodNodeElement iteratorMethodElement = Elements.methodFromMethodNode(iteratorMethod, element);
- Type returnType = Types.interfaceType(iterElement, Arrays.<Type>asList(typeVar));
- FunctionType functionType = ftype(function, returnType, Collections.<String,Type>emptyMap(),
- null);
- Elements.setType(iteratorMethodElement, functionType);
- Elements.addMethod(element, iteratorMethodElement);
- return element;
- }
-
- protected void setExpectedTypeErrorCount(int count) {
- checkExpectedTypeErrorCount();
- expectedTypeErrors = count;
- foundTypeErrors = 0;
- }
-
- protected void checkExpectedTypeErrorCount(String message) {
- assertEquals(message, expectedTypeErrors, foundTypeErrors);
- }
-
- protected void checkExpectedTypeErrorCount() {
- checkExpectedTypeErrorCount(null);
- }
-
- static TypeVariable typeVar(String name, Type bound) {
- TypeVariableElement element = Elements.typeVariableElement(name, bound);
- return new TypeVariableImplementation(element);
- }
-
- private ClassElement makeReverseMap(ClassElement map) {
- TypeVariable K = typeVar("K", itype(object));
- TypeVariable V = typeVar("V", itype(object));
- return element("ReverseMap", itype(map, V, K), K, V);
- }
-
- static InterfaceType itype(ClassElement element, Type... arguments) {
- return new InterfaceTypeImplementation(element, Arrays.asList(arguments));
- }
-
- static FunctionType ftype(ClassElement element, Type returnType,
- Map<String, Type> namedParameterTypes, Type rest, Type... arguments) {
- return FunctionTypeImplementation.of(element, Arrays.asList(arguments), null, namedParameterTypes,
- rest, returnType);
- }
-
- static Map<String, Type> named(Object... pairs) {
- Map<String, Type> named = new LinkedHashMap<String, Type>();
- for (int i = 0; i < pairs.length; i++) {
- Type type = (Type) pairs[i++];
- String name = (String) pairs[i];
- named.put(name, type);
- }
- return named;
- }
-
- ClassElement element(String name, InterfaceType supertype, TypeVariable... parameters) {
- ClassElement element = Elements.classNamed(name);
- element.setSupertype(supertype);
- element.setType(itype(element, parameters));
- coreElements.put(name, element);
- return element;
- }
-
- void checkSubtype(Type t, Type s) {
- Assert.assertTrue(getTypes().isSubtype(t, s));
- }
-
- void checkStrictSubtype(Type t, Type s) {
- checkSubtype(t, s);
- checkNotSubtype(s, t);
- }
-
- void checkNotSubtype(Type t, Type s) {
- Assert.assertFalse(getTypes().isSubtype(t, s));
- }
-
- void checkNotAssignable(Type t, Type s) {
- checkNotSubtype(t, s);
- checkNotSubtype(s, t);
- }
-
- final DartCompilerListener listener = new DartCompilerListener.Empty() {
- @Override
- public void onError(DartCompilationError event) {
- throw new AssertionError(event);
- }
- };
-
- final TestCompilerContext context = new TestCompilerContext() {
- @Override
- public void onError(DartCompilationError event) {
- if (event.getErrorCode().getSubSystem() == SubSystem.STATIC_TYPE) {
- getErrorCodes().add(event.getErrorCode());
- foundTypeErrors++;
- if (expectedTypeErrors - foundTypeErrors < 0) {
- throw new TestTypeError(event);
- }
- }
- }
- };
-
- static class TestTypeError extends RuntimeException {
- final DartCompilationError event;
-
- TestTypeError(DartCompilationError event) {
- super(String.valueOf(event));
- this.event = event;
- }
-
- ErrorCode getErrorCode() {
- return event.getErrorCode();
- }
- }
-}

Powered by Google App Engine
This is Rietveld 408576698