public override void visit(named_type_reference _named_type_reference) { //throw new NotImplementedException(); returned_scope = entry_scope; for (int i=0; i<_named_type_reference.names.Count; i++) { returned_scope = returned_scope.FindName(_named_type_reference.names[i].name); if (returned_scope == null) return; } }
public FileScope(TypeScope elementType, SymScope topScope) { this.topScope = topScope; if (topScope != null) { if (elementType != null) this.baseScope = topScope.FindName("TypedFile") as TypeScope; else this.baseScope = topScope.FindName("BinaryFile") as TypeScope; } this.elementType = elementType; this.si = new SymInfo(this.ToString(), SymbolKind.Type, this.ToString()); }
public override void visit(template_type_reference _template_type_reference) { returned_scope = entry_scope; for (int i=0; i<_template_type_reference.name.names.Count; i++) { returned_scope = returned_scope.FindName(_template_type_reference.name.names[i].name); if (returned_scope == null) return; } if (returned_scope is TypeScope) { TypeScope ts = returned_scope as TypeScope; List<TypeScope> gen_args = new List<TypeScope>(); foreach (type_definition td in _template_type_reference.params_list.params_list) { td.visit(this); gen_args.Add(returned_scope as TypeScope); } returned_scope = ts.GetInstance(gen_args); } else returned_scope = null; }