* The name used for source code that doesn't originate in a file
* (e.g. source from stdin or a string)
*/
-pub fn anon_src() -> @str { @"<anon>" }
+pub fn anon_src() -> ~str {
+ "<anon>".to_str()
+}
-pub fn source_name(input: &Input) -> @str {
+pub fn source_name(input: &Input) -> ~str {
match *input {
// FIXME (#9639): This needs to handle non-utf8 paths
- FileInput(ref ifile) => ifile.as_str().unwrap().to_managed(),
+ FileInput(ref ifile) => ifile.as_str().unwrap().to_str(),
StrInput(_) => anon_src()
}
}
-> ast::CrateConfig {
cfgspecs.move_iter().map(|s| {
let sess = parse::new_parse_sess(Some(demitter));
- parse::parse_meta_from_source_str(@"cfgspec", s, ~[], sess)
+ parse::parse_meta_from_source_str("cfgspec".to_str(), s, ~[], sess)
}).collect::<ast::CrateConfig>()
}
// Build a list of files used to compile the output and
// write Makefile-compatible dependency rules
- let files: ~[@str] = {
+ let files: ~[~str] = {
let files = sess.codemap.files.borrow();
files.get()
.iter()
.filter_map(|fmap| {
if fmap.is_real_file() {
- Some(fmap.name)
+ Some(fmap.name.clone())
} else {
None
}
span: Span) {
let cx: &CrateContext = bcx.ccx();
- let filename = span_start(cx, span).file.name;
+ let filename = span_start(cx, span).file.name.clone();
let file_metadata = file_metadata(cx, filename);
let name: &str = token::ident_to_str(&variable_ident);
let (containing_scope, definition_span) = get_namespace_and_span_for_item(cx, def_id, span);
- let file_name = span_start(cx, definition_span).file.name;
+ let file_name = span_start(cx, definition_span).file.name.clone();
let file_metadata = file_metadata(cx, file_name);
let struct_metadata_stub = create_struct_stub(cx,
let (containing_scope, definition_span) =
get_namespace_and_span_for_item(cx, def_id, usage_site_span);
- let file_name = span_start(cx, definition_span).file.name;
+ let file_name = span_start(cx, definition_span).file.name.clone();
let file_metadata = file_metadata(cx, file_name);
let trait_llvm_type = type_of::type_of(cx, trait_type);
callee: NameAndSpan
}
-pub type FileName = @str;
+pub type FileName = ~str;
pub struct FileLines
{
pub fn lookup_char_pos_adj(&self, pos: BytePos) -> LocWithOpt {
let loc = self.lookup_char_pos(pos);
LocWithOpt {
- filename: loc.file.name,
+ filename: loc.file.name.to_str(),
line: loc.line,
col: loc.col,
file: Some(loc.file)
pub fn span_to_filename(&self, sp: Span) -> FileName {
let lo = self.lookup_char_pos(sp.lo);
- lo.file.name
+ lo.file.name.to_str()
}
pub fn span_to_lines(&self, sp: Span) -> @FileLines {
fn parse_item(&self, s: ~str) -> @ast::Item {
let res = parse::parse_item_from_source_str(
- @"<quote expansion>",
+ "<quote expansion>".to_str(),
s,
self.cfg(),
self.parse_sess());
}
fn parse_stmt(&self, s: ~str) -> @ast::Stmt {
- parse::parse_stmt_from_source_str(
- @"<quote expansion>",
- s,
- self.cfg(),
- ~[],
- self.parse_sess())
+ parse::parse_stmt_from_source_str("<quote expansion>".to_str(),
+ s,
+ self.cfg(),
+ ~[],
+ self.parse_sess())
}
fn parse_expr(&self, s: ~str) -> @ast::Expr {
- parse::parse_expr_from_source_str(
- @"<quote expansion>",
- s,
- self.cfg(),
- self.parse_sess())
+ parse::parse_expr_from_source_str("<quote expansion>".to_str(),
+ s,
+ self.cfg(),
+ self.parse_sess())
}
fn parse_tts(&self, s: ~str) -> ~[ast::TokenTree] {
- parse::parse_tts_from_source_str(
- @"<quote expansion>",
- s,
- self.cfg(),
- self.parse_sess())
+ parse::parse_tts_from_source_str("<quote expansion>".to_str(),
+ s,
+ self.cfg(),
+ self.parse_sess())
}
}
Some(src) => {
// Add this input file to the code map to make it available as
// dependency information
- let filename = file.display().to_str().to_managed();
+ let filename = file.display().to_str();
let interned = token::intern_and_get_ident(src);
cx.parse_sess.cm.new_filemap(filename, src);
// probably not a good thing.
pub fn gather_comments_and_literals(span_diagnostic:
@diagnostic::SpanHandler,
- path: @str,
+ path: ~str,
srdr: &mut io::Reader)
-> (~[Comment], ~[Literal]) {
let src = str::from_utf8_owned(srdr.read_to_end()).unwrap();
return inner;
}
-pub fn parse_crate_from_source_str(name: @str,
+pub fn parse_crate_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
maybe_aborted(p.parse_crate_mod(),p)
}
-pub fn parse_crate_attrs_from_source_str(name: @str,
+pub fn parse_crate_attrs_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
return inner;
}
-pub fn parse_expr_from_source_str(name: @str,
+pub fn parse_expr_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
maybe_aborted(p.parse_expr(), p)
}
-pub fn parse_item_from_source_str(name: @str,
+pub fn parse_item_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
maybe_aborted(p.parse_item(attrs),p)
}
-pub fn parse_meta_from_source_str(name: @str,
+pub fn parse_meta_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
maybe_aborted(p.parse_meta_item(),p)
}
-pub fn parse_stmt_from_source_str(name: @str,
+pub fn parse_stmt_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
attrs: ~[ast::Attribute],
maybe_aborted(p.parse_stmt(attrs),p)
}
-pub fn parse_tts_from_source_str(name: @str,
+pub fn parse_tts_from_source_str(name: ~str,
source: ~str,
cfg: ast::CrateConfig,
sess: @ParseSess)
// Create a new parser from a source string
pub fn new_parser_from_source_str(sess: @ParseSess,
cfg: ast::CrateConfig,
- name: @str,
+ name: ~str,
source: ~str)
-> Parser {
filemap_to_parser(sess,string_to_filemap(sess,source,name),cfg)
};
match str::from_utf8_owned(bytes) {
Some(s) => {
- return string_to_filemap(sess,
- s,
- path.as_str().unwrap().to_managed());
- }
- None => {
- err(format!("{} is not UTF-8 encoded", path.display()))
+ return string_to_filemap(sess, s, path.as_str().unwrap().to_str())
}
+ None => err(format!("{} is not UTF-8 encoded", path.display())),
}
unreachable!()
}
// given a session and a string, add the string to
// the session's codemap and return the new filemap
-pub fn string_to_filemap(sess: @ParseSess, source: ~str, path: @str)
- -> @FileMap {
+pub fn string_to_filemap(sess: @ParseSess, source: ~str, path: ~str)
+ -> @FileMap {
sess.cm.new_filemap(path, source)
}
intr: @IdentInterner,
span_diagnostic: @diagnostic::SpanHandler,
crate: &ast::Crate,
- filename: @str,
+ filename: ~str,
input: &mut io::Reader,
out: ~io::Writer,
ann: @PpAnn,