59 } |
59 } |
60 |
60 |
61 /** |
61 /** |
62 * Check expression |
62 * Check expression |
63 */ |
63 */ |
64 public Vset checkValue(Environment env, Context ctx, Vset vset, Hashtable exp) { |
64 public Vset checkValue(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp) { |
65 vset = checkCommon(env, ctx, vset, exp); |
65 vset = checkCommon(env, ctx, vset, exp); |
66 if (type != Type.tError) { |
66 if (type != Type.tError) { |
67 // "super" is not allowed in this context: |
67 // "super" is not allowed in this context: |
68 env.error(where, "undef.var.super", idSuper); |
68 env.error(where, "undef.var.super", idSuper); |
69 } |
69 } |
72 |
72 |
73 /** |
73 /** |
74 * Check if the present name is part of a scoping prefix. |
74 * Check if the present name is part of a scoping prefix. |
75 */ |
75 */ |
76 public Vset checkAmbigName(Environment env, Context ctx, |
76 public Vset checkAmbigName(Environment env, Context ctx, |
77 Vset vset, Hashtable exp, |
77 Vset vset, Hashtable<Object, Object> exp, |
78 UnaryExpression loc) { |
78 UnaryExpression loc) { |
79 return checkCommon(env, ctx, vset, exp); |
79 return checkCommon(env, ctx, vset, exp); |
80 } |
80 } |
81 |
81 |
82 /** Common code for checkValue and checkAmbigName */ |
82 /** Common code for checkValue and checkAmbigName */ |
83 private Vset checkCommon(Environment env, Context ctx, Vset vset, Hashtable exp) { |
83 private Vset checkCommon(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp) { |
84 ClassDeclaration superClass = ctx.field.getClassDefinition().getSuperClass(); |
84 ClassDeclaration superClass = ctx.field.getClassDefinition().getSuperClass(); |
85 if (superClass == null) { |
85 if (superClass == null) { |
86 env.error(where, "undef.var", idSuper); |
86 env.error(where, "undef.var", idSuper); |
87 type = Type.tError; |
87 type = Type.tError; |
88 return vset; |
88 return vset; |