int start = 0, i, j;
if (Kind == Kind.Class){
- TypeExpr name = ResolveBaseTypeExpr (
- (Expression) Bases [0], false, Location);
+ TypeExpr name = ResolveBaseTypeExpr ((Expression) Bases [0]);
if (name == null){
return null;
TypeExpr [] ifaces = new TypeExpr [count-start];
for (i = start, j = 0; i < count; i++, j++){
- TypeExpr resolved = ResolveBaseTypeExpr ((Expression) Bases [i], false, Location);
+ TypeExpr resolved = ResolveBaseTypeExpr ((Expression) Bases [i]);
if (resolved == null) {
return null;
}
/// </summary>
public bool IsFieldInitializer;
- /// <summary>
- /// We are resolving a class'es base class and interfaces.
- /// </summary>
- public bool ResolvingTypeTree;
-
/// <summary>
/// We are resolving a generic method's return type and parameters.
/// </summary>
// Resolves the expression `e' for a type, and will recursively define
// types. This should only be used for resolving base types.
// </summary>
- protected TypeExpr ResolveBaseTypeExpr (Expression e, bool silent, Location loc)
+ protected TypeExpr ResolveBaseTypeExpr (Expression e)
{
- TypeResolveEmitContext.loc = loc;
- TypeResolveEmitContext.ResolvingTypeTree = true;
if (this is GenericMethod)
TypeResolveEmitContext.ContainerType = Parent.TypeBuilder;
- return e.ResolveAsTypeTerminal (TypeResolveEmitContext, silent);
+ return e.ResolveAsTypeTerminal (TypeResolveEmitContext, false);
}
public bool CheckAccessLevel (Type check_type)
return null;
}
- TypeExpr ute = ResolveBaseTypeExpr (BaseType, false, Location);
- if (ute == null)
- return null;
-
+ TypeExpr ute = ResolveBaseTypeExpr (BaseType);
UnderlyingType = ute.Type;
if (UnderlyingType != TypeManager.int32_type &&
{
}
- public override bool Resolve (EmitContext ec)
+ public override bool Resolve (IResolveContext ec)
{
if (!base.Resolve (ec))
return false;
{
}
- public override bool Resolve (EmitContext ec)
+ public override bool Resolve (IResolveContext ec)
{
return true;
}
// <summary>
// Resolve is used in method definitions
// </summary>
- public virtual bool Resolve (EmitContext ec)
+ public virtual bool Resolve (IResolveContext ec)
{
if (parameter_type != null)
return true;
return GetParameterByName (name, out idx);
}
- public bool Resolve (EmitContext ec)
+ public bool Resolve (IResolveContext ec)
{
if (types != null)
return true;