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