@@ -92,7 +92,7 @@ pub fn parse_crate_from_source_str(name: ~str,
92
92
source : @~str ,
93
93
cfg : ast:: crate_cfg ,
94
94
sess : @mut ParseSess ) -> @ast:: crate {
95
- let p = new_parser_from_source_str ( sess, cfg, name,
95
+ let p = new_parser_from_source_str ( sess, cfg, /*bad*/ copy name,
96
96
codemap:: FssNone , source) ;
97
97
let r = p. parse_crate_mod ( cfg) ;
98
98
p. abort_if_errors ( ) ;
@@ -103,7 +103,7 @@ pub fn parse_expr_from_source_str(name: ~str,
103
103
source : @~str ,
104
104
cfg : ast:: crate_cfg ,
105
105
sess : @mut ParseSess ) -> @ast:: expr {
106
- let p = new_parser_from_source_str ( sess, cfg, name,
106
+ let p = new_parser_from_source_str ( sess, cfg, /*bad*/ copy name,
107
107
codemap:: FssNone , source) ;
108
108
let r = p. parse_expr ( ) ;
109
109
p. abort_if_errors ( ) ;
@@ -116,7 +116,7 @@ pub fn parse_item_from_source_str(name: ~str,
116
116
+attrs : ~[ ast:: attribute ] ,
117
117
sess : @mut ParseSess )
118
118
-> Option < @ast:: item > {
119
- let p = new_parser_from_source_str ( sess, cfg, name,
119
+ let p = new_parser_from_source_str ( sess, cfg, /*bad*/ copy name,
120
120
codemap:: FssNone , source) ;
121
121
let r = p. parse_item ( attrs) ;
122
122
p. abort_if_errors ( ) ;
@@ -128,7 +128,7 @@ pub fn parse_stmt_from_source_str(name: ~str,
128
128
cfg : ast:: crate_cfg ,
129
129
+attrs : ~[ ast:: attribute ] ,
130
130
sess : @mut ParseSess ) -> @ast:: stmt {
131
- let p = new_parser_from_source_str ( sess, cfg, name,
131
+ let p = new_parser_from_source_str ( sess, cfg, /*bad*/ copy name,
132
132
codemap:: FssNone , source) ;
133
133
let r = p. parse_stmt ( attrs) ;
134
134
p. abort_if_errors ( ) ;
@@ -139,7 +139,7 @@ pub fn parse_tts_from_source_str(name: ~str,
139
139
source : @~str ,
140
140
cfg : ast:: crate_cfg ,
141
141
sess : @mut ParseSess ) -> ~[ ast:: token_tree ] {
142
- let p = new_parser_from_source_str ( sess, cfg, name,
142
+ let p = new_parser_from_source_str ( sess, cfg, /*bad*/ copy name,
143
143
codemap:: FssNone , source) ;
144
144
* p. quote_depth += 1 u;
145
145
let r = p. parse_all_token_trees ( ) ;
@@ -153,8 +153,13 @@ pub fn parse_from_source_str<T>(f: fn (p: Parser) -> T,
153
153
sess : @mut ParseSess )
154
154
-> T
155
155
{
156
- let p = new_parser_from_source_str ( sess, cfg, name, ss,
157
- source) ;
156
+ let p = new_parser_from_source_str (
157
+ sess,
158
+ cfg,
159
+ /*bad*/ copy name,
160
+ /*bad*/ copy ss,
161
+ source
162
+ ) ;
158
163
let r = f ( p) ;
159
164
if !p. reader . is_eof ( ) {
160
165
p. reader . fatal ( ~"expected end-of-string") ;
@@ -226,7 +231,7 @@ pub fn new_sub_parser_from_file(sess: @mut ParseSess, cfg: ast::crate_cfg,
226
231
}
227
232
228
233
pub fn new_parser_from_tts ( sess : @mut ParseSess , cfg : ast:: crate_cfg ,
229
- tts : ~[ ast:: token_tree ] ) -> Parser {
234
+ + tts : ~[ ast:: token_tree ] ) -> Parser {
230
235
let trdr = lexer:: new_tt_reader ( copy sess. span_diagnostic , sess. interner ,
231
236
None , tts) ;
232
237
return Parser ( sess, cfg, trdr as reader )
0 commit comments