Mercurial > projects > dil
comparison trunk/src/dil/ast/NodeCopier.d @ 804:9e6c6bb73e5f
Implemented visit methods for some type nodes.
Added method SemanticPass2.search().
Added methods arrayOf() and arrayOf(Type) to class Type.
Refactored ModuleScopeType.
Added error msg UndefinedIdentifier.
Added release.py.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Sat, 08 Mar 2008 22:02:20 +0100 |
parents | 5fe89bb8cbdd |
children |
comparison
equal
deleted
inserted
replaced
803:cb8040538772 | 804:9e6c6bb73e5f |
---|---|
272 else | 272 else |
273 static if (is(TypeNode) && is(T : TypeNode)) | 273 static if (is(TypeNode) && is(T : TypeNode)) |
274 { | 274 { |
275 //IllegalType, | 275 //IllegalType, |
276 //IntegralType, | 276 //IntegralType, |
277 //ModuleScopeType, | |
277 //IdentifierType have no subnodes. | 278 //IdentifierType have no subnodes. |
278 static if (is(T == QualifiedType)) | 279 static if (is(T == QualifiedType)) |
279 mixin(doCopy(["lhs", "rhs"])); | 280 mixin(doCopy(["lhs", "rhs"])); |
280 static if (is(T == TypeofType)) | 281 static if (is(T == TypeofType)) |
281 mixin(doCopy("e")); | 282 mixin(doCopy("e")); |
287 mixin(doCopy(["next", "assocType?", "e1?", "e2?"])); | 288 mixin(doCopy(["next", "assocType?", "e1?", "e2?"])); |
288 static if (is(T == FunctionType) || is(T == DelegateType)) | 289 static if (is(T == FunctionType) || is(T == DelegateType)) |
289 mixin(doCopy(["returnType", "params"])); | 290 mixin(doCopy(["returnType", "params"])); |
290 static if (is(T == CFuncPointerType)) | 291 static if (is(T == CFuncPointerType)) |
291 mixin(doCopy(["next", "params?"])); | 292 mixin(doCopy(["next", "params?"])); |
292 static if (is(T == ModuleScopeType) || | 293 static if (is(T == BaseClassType) || |
293 is(T == BaseClassType) || | |
294 is(T == ConstType) || | 294 is(T == ConstType) || |
295 is(T == InvariantType)) | 295 is(T == InvariantType)) |
296 mixin(doCopy("next")); | 296 mixin(doCopy("next")); |
297 } | 297 } |
298 else | 298 else |