internal Token ResolveType(Context ctx, Token tkP)
{
int i;
// 型引数の取得
int size = tkP.Sub.Count;
var p = new List<KonohaParam>();
for (i = 0; i < size; i++)
{
Token tkT = (tkP.Sub[i]);
if (tkT.Keyword == KeywordType.Type)
{
p.Add(new KonohaParam() { Type = tkT.Type });
}
}
throw new NotImplementedException();
// 以下未実装
KonohaClass ct;
if (p.Count > 0)
{
ct = null;// this.ctx.share.ca.cts[(int)this.Type];
if (ct.cparam == KonohaParam.NULL)
{
ctx.SUGAR_P(ReportLevel.ERR, this.ULine, 0, "not generic type: %s", this.KType.ToString());
return this;
}
//ct = kClassTable_Generics(ct, TY_void, p.Count, p);
}
else
{
//ct = CT_P0(_ctx, CT_Array, this_type(this));
}
this.Type = (TokenType)ct.cid;
return this;
}