* TypeDef.cs (GenericInfo):
[mono.git] / mcs / ilasm / codegen / BaseGenericTypeRef.cs
1 //
2 // Mono.ILASM.BaseGenericTypeRef
3 //
4 // Author(s):
5 //  Ankit Jain  <jankit@novell.com>
6 //
7 // Copyright 2006 Novell, Inc (http://www.novell.com)
8 //
9
10 using System;
11 using System.Collections;
12
13 namespace Mono.ILASM {
14
15         public abstract class BaseGenericTypeRef : BaseClassRef {
16                 public BaseGenericTypeRef (string full_name, bool is_valuetype, ArrayList conv_list, string sig_mod)
17                         : base (full_name, is_valuetype, conv_list, sig_mod)
18                 {
19                 }
20
21                 /* Used to resolve any gen params in arguments, constraints etc */
22                 public abstract void Resolve (GenericParameters type_gen_params, GenericParameters method_gen_params);
23                 
24                 /* Only resolves, does not add it to the TypeSpec
25                    table */
26                 public abstract void ResolveNoTypeSpec (CodeGen code_gen);
27
28                 public override GenericTypeInst GetGenericTypeInst (GenericArguments gen_args)
29                 {
30                         throw new Exception (String.Format ("Invalid attempt to create '{0}''{1}'", FullName, gen_args.ToString ()));
31                 }
32
33                 public override PEAPI.Type ResolveInstance (CodeGen code_gen, GenericArguments gen_args)
34                 {
35                         throw new Exception (String.Format ("Invalid attempt to create '{0}''{1}'", FullName, gen_args.ToString ()));
36                 }
37         }
38
39
40 }