blob: e2a83bfc6096139fc23767d9088b510aa584d26b [file] [log] [blame]
// Copyright (c) 2011, 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.common.collect.ImmutableList;
import com.google.dart.compiler.resolver.Element;
import java.util.List;
/**
* Represents a Dart string literal value.
*/
public class DartStringLiteral extends DartLiteral {
private Element element;
public static DartStringLiteral get(String x) {
return new DartStringLiteral(x, null);
}
public static DartStringLiteral get(String x, List<DartStringLiteral> parts) {
return new DartStringLiteral(x, parts);
}
private final String value;
private final List<DartStringLiteral> parts;
private DartStringLiteral(String value, List<DartStringLiteral> parts) {
this.value = value;
this.parts = parts;
}
public String getValue() {
return value;
}
/**
* @return the adjacent literals (separated only by whitespace) which consist this
* {@link DartStringLiteral}.
*/
public List<DartStringLiteral> getParts() {
if (parts == null) {
return ImmutableList.of(this);
}
return parts;
}
@Override
public void setElement(Element element) {
this.element = element;
}
@Override
public Element getElement() {
return element;
}
@Override
public void visitChildren(ASTVisitor<?> visitor) {
}
@Override
public <R> R accept(ASTVisitor<R> visitor) {
return visitor.visitStringLiteral(this);
}
}