comparison trunk/src/dil/ast/DefaultVisitor.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 cf2ad5df025c
children
comparison
equal deleted inserted replaced
803:cb8040538772 804:9e6c6bb73e5f
285 else 285 else
286 static if (is(T : TypeNode)) 286 static if (is(T : TypeNode))
287 { 287 {
288 //IllegalType, 288 //IllegalType,
289 //IntegralType, 289 //IntegralType,
290 //ModuleScopeType,
290 //IdentifierType have no subnodes. 291 //IdentifierType have no subnodes.
291 static if (is(T == QualifiedType)) 292 static if (is(T == QualifiedType))
292 visitT(t.lhs), visitT(t.rhs); 293 visitT(t.lhs), visitT(t.rhs);
293 static if (is(T == TypeofType)) 294 static if (is(T == TypeofType))
294 visitE(t.e); 295 visitE(t.e);
306 } 307 }
307 static if (is(T == FunctionType) || is(T == DelegateType)) 308 static if (is(T == FunctionType) || is(T == DelegateType))
308 visitT(t.returnType), visitN(t.params); 309 visitT(t.returnType), visitN(t.params);
309 static if (is(T == CFuncPointerType)) 310 static if (is(T == CFuncPointerType))
310 visitT(t.next), t.params && visitN(t.params); 311 visitT(t.next), t.params && visitN(t.params);
311 static if (is(T == ModuleScopeType) || 312 static if (is(T == BaseClassType) ||
312 is(T == BaseClassType) ||
313 is(T == ConstType) || 313 is(T == ConstType) ||
314 is(T == InvariantType)) 314 is(T == InvariantType))
315 visitT(t.next); 315 visitT(t.next);
316 } 316 }
317 else 317 else