From badbe373b9e6a56c8b9dbb8252dbdf5556064565 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Sat, 25 Oct 2014 18:06:09 +0800 Subject: add main_class in MClasses, and set main class when building symtab --- src/minijava/symboltable/MClasses.java | 1 + src/minijava/visitor/BuildSymbolTableVisitor.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/minijava/symboltable/MClasses.java b/src/minijava/symboltable/MClasses.java index 7a8a75b..f535b97 100644 --- a/src/minijava/symboltable/MClasses.java +++ b/src/minijava/symboltable/MClasses.java @@ -9,6 +9,7 @@ import minijava.typecheck.PrintError; public class MClasses extends MType { public Vector mj_classes = new Vector(); // 用于存放类 + public MClass main_class = null; public MClass findClassByName(String c_name) { for (int i=0; i { error_msg = ((MClasses) argu).InsertClass(m_class); if (error_msg != null) PrintError.print(m_class.getLine(), m_class.getColumn(), error_msg); + + // 设置该类为主类 + ((MClasses)argu).main_class = m_class; // 往main class中添加main方法 MMethod main_method = new MMethod("main", MIdentifier.voidType, -- cgit v1.2.3