public override void Resolve(SyntaxTreeNode_Leaf leaf, int numTypeArgs, bool asTypeOnly) { leaf.ResolvedSymbol = null; if (definition != null) { definition.ResolveMember(leaf, this, numTypeArgs, asTypeOnly); if (leaf.ResolvedSymbol != null) { return; } if (numTypeArgs == 0 && leaf.ResolvedSymbol == null) { var typeParams = definition.GetTypeParameters(); if (typeParams != null) { var id = SymbolDefinition.DecodeId(leaf.token.text); for (var i = typeParams.Count; i-- > 0;) { if (typeParams[i].GetName() == id) { leaf.ResolvedSymbol = typeParams[i]; return; } } } } } base.Resolve(leaf, numTypeArgs, asTypeOnly); }