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

Side by Side Diff: editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantValueComputerTest.java

Issue 595513003: Version 1.7.0-dev.3.3 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/dart/
Patch Set: Created 6 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, the Dart project authors. 2 * Copyright (c) 2013, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
(...skipping 17 matching lines...) Expand all
28 import com.google.dart.engine.constant.DeclaredVariables; 28 import com.google.dart.engine.constant.DeclaredVariables;
29 import com.google.dart.engine.context.AnalysisException; 29 import com.google.dart.engine.context.AnalysisException;
30 import com.google.dart.engine.element.ConstructorElement; 30 import com.google.dart.engine.element.ConstructorElement;
31 import com.google.dart.engine.element.LibraryElement; 31 import com.google.dart.engine.element.LibraryElement;
32 import com.google.dart.engine.element.ParameterElement; 32 import com.google.dart.engine.element.ParameterElement;
33 import com.google.dart.engine.error.CompileTimeErrorCode; 33 import com.google.dart.engine.error.CompileTimeErrorCode;
34 import com.google.dart.engine.error.ErrorCode; 34 import com.google.dart.engine.error.ErrorCode;
35 import com.google.dart.engine.internal.element.VariableElementImpl; 35 import com.google.dart.engine.internal.element.VariableElementImpl;
36 import com.google.dart.engine.internal.object.DartObjectImpl; 36 import com.google.dart.engine.internal.object.DartObjectImpl;
37 import com.google.dart.engine.internal.object.GenericState; 37 import com.google.dart.engine.internal.object.GenericState;
38 import com.google.dart.engine.internal.resolver.TestTypeProvider;
39 import com.google.dart.engine.internal.resolver.TypeProvider; 38 import com.google.dart.engine.internal.resolver.TypeProvider;
40 import com.google.dart.engine.resolver.ResolverTestCase; 39 import com.google.dart.engine.resolver.ResolverTestCase;
41 import com.google.dart.engine.source.Source; 40 import com.google.dart.engine.source.Source;
42 import com.google.dart.engine.utilities.collection.DirectedGraph; 41 import com.google.dart.engine.utilities.collection.DirectedGraph;
43 import com.google.dart.engine.utilities.logging.TestLogger; 42 import com.google.dart.engine.utilities.logging.TestLogger;
44 43
45 import java.util.HashMap; 44 import java.util.HashMap;
46 45
47 public class ConstantValueComputerTest extends ResolverTestCase { 46 public class ConstantValueComputerTest extends ResolverTestCase {
48 class ValidatingConstantVisitor extends ConstantVisitor { 47 class ValidatingConstantVisitor extends ConstantVisitor {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 163
165 ConstantValueComputer computer = makeConstantValueComputer(); 164 ConstantValueComputer computer = makeConstantValueComputer();
166 computer.add(unit); 165 computer.add(unit);
167 computer.computeValues(); 166 computer.computeValues();
168 NodeList<CompilationUnitMember> members = unit.getDeclarations(); 167 NodeList<CompilationUnitMember> members = unit.getDeclarations();
169 assertSizeOfList(2, members); 168 assertSizeOfList(2, members);
170 validate(true, ((TopLevelVariableDeclaration) members.get(0)).getVariables() ); 169 validate(true, ((TopLevelVariableDeclaration) members.get(0)).getVariables() );
171 validate(true, ((TopLevelVariableDeclaration) members.get(1)).getVariables() ); 170 validate(true, ((TopLevelVariableDeclaration) members.get(1)).getVariables() );
172 } 171 }
173 172
174 public void test_computeValues_empty() { 173 public void test_computeValues_empty() throws Exception {
175 ConstantValueComputer computer = makeConstantValueComputer(); 174 ConstantValueComputer computer = makeConstantValueComputer();
176 computer.computeValues(); 175 computer.computeValues();
177 } 176 }
178 177
179 public void test_computeValues_multipleSources() throws Exception { 178 public void test_computeValues_multipleSources() throws Exception {
180 Source librarySource = addNamedSource("/lib.dart", createSource(// 179 Source librarySource = addNamedSource("/lib.dart", createSource(//
181 "library lib;", 180 "library lib;",
182 "part 'part.dart';", 181 "part 'part.dart';",
183 "const int c = b;", 182 "const int c = b;",
184 "const int a = 0;")); 183 "const int a = 0;"));
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 assertSizeOfMap(1, fieldsOfY); 927 assertSizeOfMap(1, fieldsOfY);
929 assertIntField(fieldsOfY, fieldName, 10L); 928 assertIntField(fieldsOfY, fieldName, 10L);
930 } 929 }
931 930
932 private EvaluationResultImpl evaluateInstanceCreationExpression(CompilationUni t compilationUnit, 931 private EvaluationResultImpl evaluateInstanceCreationExpression(CompilationUni t compilationUnit,
933 String name) throws AnalysisException { 932 String name) throws AnalysisException {
934 Expression expression = findTopLevelConstantExpression(compilationUnit, name ); 933 Expression expression = findTopLevelConstantExpression(compilationUnit, name );
935 return ((InstanceCreationExpression) expression).getEvaluationResult(); 934 return ((InstanceCreationExpression) expression).getEvaluationResult();
936 } 935 }
937 936
938 private ConstantValueComputer makeConstantValueComputer() { 937 private ConstantValueComputer makeConstantValueComputer() throws AnalysisExcep tion {
939 return new ValidatingConstantValueComputer( 938 return new ValidatingConstantValueComputer(
940 new TestTypeProvider(), 939 analysisContext.getTypeProvider(),
941 analysisContext.getDeclaredVariables()); 940 analysisContext.getDeclaredVariables());
942 } 941 }
943 942
944 private void validate(boolean shouldBeValid, VariableDeclarationList declarati onList) { 943 private void validate(boolean shouldBeValid, VariableDeclarationList declarati onList) {
945 for (VariableDeclaration declaration : declarationList.getVariables()) { 944 for (VariableDeclaration declaration : declarationList.getVariables()) {
946 VariableElementImpl element = (VariableElementImpl) declaration.getElement (); 945 VariableElementImpl element = (VariableElementImpl) declaration.getElement ();
947 assertNotNull(element); 946 assertNotNull(element);
948 EvaluationResultImpl result = element.getEvaluationResult(); 947 EvaluationResultImpl result = element.getEvaluationResult();
949 if (shouldBeValid) { 948 if (shouldBeValid) {
950 assertInstanceOf(ValidResult.class, result); 949 assertInstanceOf(ValidResult.class, result);
951 Object value = ((ValidResult) result).getValue(); 950 Object value = ((ValidResult) result).getValue();
952 assertNotNull(value); 951 assertNotNull(value);
953 } else { 952 } else {
954 assertInstanceOf(ErrorResult.class, result); 953 assertInstanceOf(ErrorResult.class, result);
955 } 954 }
956 } 955 }
957 } 956 }
958 } 957 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698