X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fmcs%2Feval.cs;h=766bb05696b6f9e815d0b80ee621c3e1c54194f7;hb=c39718bbb394fe97281e6e64945b4572bef29121;hp=9607ffd8b7945c0535fe516305dca14b20b2059d;hpb=89d5527369717465b43e3145cbecdca3a8601ec4;p=mono.git diff --git a/mcs/mcs/eval.cs b/mcs/mcs/eval.cs index 9607ffd8b79..766bb05696b 100644 --- a/mcs/mcs/eval.cs +++ b/mcs/mcs/eval.cs @@ -370,8 +370,14 @@ namespace Mono.CSharp if (parser == null){ return null; } - - Class parser_result = parser.InteractiveResult; + + Class host = parser.InteractiveResult; + + var base_class_imported = importer.ImportType (base_class); + var baseclass_list = new List (1) { + new TypeExpression (base_class_imported, host.Location) + }; + host.SetBaseTypes (baseclass_list); #if NET_4_0 var access = AssemblyBuilderAccess.RunAndCollect; @@ -383,13 +389,15 @@ namespace Mono.CSharp module.SetDeclaringAssembly (a); // Need to setup MemberCache - parser_result.CreateContainer (); + host.CreateContainer (); + // Need to setup base type + host.DefineContainer (); - var method = parser_result.Members[0] as Method; + var method = host.Members[0] as Method; BlockContext bc = new BlockContext (method, method.Block, ctx.BuiltinTypes.Void); try { - method.Block.Resolve (null, bc, method); + method.Block.Resolve (bc, method); } catch (CompletionResult cr) { prefix = cr.BaseText; return cr.Result; @@ -459,7 +467,7 @@ namespace Mono.CSharp // InputKind ToplevelOrStatement (SeekableStreamReader seekable) { - Tokenizer tokenizer = new Tokenizer (seekable, source_file, new ParserSession ()); + Tokenizer tokenizer = new Tokenizer (seekable, source_file, new ParserSession (), ctx.Report); // Prefer contextual block keywords over identifiers tokenizer.parsing_block++; @@ -1038,9 +1046,7 @@ namespace Mono.CSharp static public string help { get { return "Static methods:\n" + -#if !NET_2_1 " Describe (object); - Describes the object's type\n" + -#endif " LoadPackage (package); - Loads the given Package (like -pkg:FILE)\n" + " LoadAssembly (assembly); - Loads the given assembly (like -r:ASSEMBLY)\n" + " ShowVars (); - Shows defined local variables.\n" + @@ -1216,10 +1222,6 @@ namespace Mono.CSharp public class Undo { List undo_actions; - - public Undo () - { - } public void AddTypeContainer (TypeContainer current_container, TypeDefinition tc) {