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

Unified Diff: compiler/java/com/google/dart/compiler/ast/DartCommentNewName.java

Issue 11377039: Issue 6251. Resolve and rename type and constructor references in [new Type.name]. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 1 month 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: compiler/java/com/google/dart/compiler/ast/DartCommentNewName.java
diff --git a/compiler/java/com/google/dart/compiler/ast/DartCommentNewName.java b/compiler/java/com/google/dart/compiler/ast/DartCommentNewName.java
new file mode 100644
index 0000000000000000000000000000000000000000..1ab676f49cebb630fae40c8a0fdcc63a864e261c
--- /dev/null
+++ b/compiler/java/com/google/dart/compiler/ast/DartCommentNewName.java
@@ -0,0 +1,76 @@
+// 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.ast;
+
+import com.google.dart.compiler.resolver.ClassElement;
+import com.google.dart.compiler.resolver.ConstructorElement;
+
+/**
+ * <code>[new Class.name]</code> in {@link DartComment}.
+ */
+public final class DartCommentNewName extends DartNode {
+ private final String className;
+ private final int classOffset;
+ private final String constructorName;
+ private ClassElement classElement;
+ private final int constructorOffset;
+ private ConstructorElement constructorElement;
+
+ public DartCommentNewName(String className, int classOffset, String constructorName,
+ int constructorOffset) {
+ assert className != null;
+ assert constructorName != null;
+ this.className = className;
+ this.classOffset = classOffset;
+ this.constructorName = constructorName;
+ this.constructorOffset = constructorOffset;
+ }
+
+ @Override
+ public String toString() {
+ if (constructorName.isEmpty()) {
+ return className;
+ }
+ return className + "." + constructorName;
+ }
+
+ public void setElements(ClassElement classElement, ConstructorElement constructorElement) {
+ this.classElement = classElement;
+ this.constructorElement = constructorElement;
+ }
+
+ public String getClassName() {
+ return className;
+ }
+
+ public int getClassOffset() {
+ return classOffset;
+ }
+
+ public ClassElement getClassElement() {
+ return classElement;
+ }
+
+ public String getConstructorName() {
+ return constructorName;
+ }
+
+ public int getConstructorOffset() {
+ return constructorOffset;
+ }
+
+ public ConstructorElement getConstructorElement() {
+ return constructorElement;
+ }
+
+ @Override
+ public void visitChildren(ASTVisitor<?> visitor) {
+ }
+
+ @Override
+ public <R> R accept(ASTVisitor<R> visitor) {
+ return visitor.visitCommentNewName(this);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698