equal
deleted
inserted
replaced
98 } |
98 } |
99 |
99 |
100 /** |
100 /** |
101 * Check a statement |
101 * Check a statement |
102 */ |
102 */ |
103 public Vset checkMethod(Environment env, Context ctx, Vset vset, Hashtable exp) { |
103 public Vset checkMethod(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp) { |
104 // Set up ctx.getReturnContext() for the sake of ReturnStatement.check(). |
104 // Set up ctx.getReturnContext() for the sake of ReturnStatement.check(). |
105 CheckContext mctx = new CheckContext(ctx, new Statement(METHOD, 0)); |
105 CheckContext mctx = new CheckContext(ctx, new Statement(METHOD, 0)); |
106 ctx = mctx; |
106 ctx = mctx; |
107 |
107 |
108 vset = check(env, ctx, vset, exp); |
108 vset = check(env, ctx, vset, exp); |
128 // Simulate a return at the end. |
128 // Simulate a return at the end. |
129 vset = vset.join(mctx.vsBreak); |
129 vset = vset.join(mctx.vsBreak); |
130 |
130 |
131 return vset; |
131 return vset; |
132 } |
132 } |
133 Vset checkDeclaration(Environment env, Context ctx, Vset vset, int mod, Type t, Hashtable exp) { |
133 Vset checkDeclaration(Environment env, Context ctx, Vset vset, int mod, Type t, Hashtable<Object, Object> exp) { |
134 throw new CompilerError("checkDeclaration"); |
134 throw new CompilerError("checkDeclaration"); |
135 } |
135 } |
136 |
136 |
137 /** |
137 /** |
138 * Make sure the labels on this statement do not duplicate the |
138 * Make sure the labels on this statement do not duplicate the |
162 } |
162 } |
163 } // end loop |
163 } // end loop |
164 } |
164 } |
165 } |
165 } |
166 |
166 |
167 Vset check(Environment env, Context ctx, Vset vset, Hashtable exp) { |
167 Vset check(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp) { |
168 throw new CompilerError("check"); |
168 throw new CompilerError("check"); |
169 } |
169 } |
170 |
170 |
171 /** This is called in contexts where declarations are valid. */ |
171 /** This is called in contexts where declarations are valid. */ |
172 Vset checkBlockStatement(Environment env, Context ctx, Vset vset, Hashtable exp) { |
172 Vset checkBlockStatement(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp) { |
173 return check(env, ctx, vset, exp); |
173 return check(env, ctx, vset, exp); |
174 } |
174 } |
175 |
175 |
176 Vset reach(Environment env, Vset vset) { |
176 Vset reach(Environment env, Vset vset) { |
177 if (vset.isDeadEnd()) { |
177 if (vset.isDeadEnd()) { |