public override Exp Analy() { if (this.IsAnalyed) { return(this); } if (this.ExpContext == null) { throw new CCException(); } if (TypeTokens.Count == 1) { var expStaticClassName = ParseExpStaticClass(TypeTokens[0]); if (expStaticClassName != null) { return(expStaticClassName.Analy()); } } noneType = new ExpTypeNone(this.ExpContext, this); tsize = TypeTokens.Count; if (tsize == 0) { return(noneType); } mainTypeToken = TypeTokens[tsize - 1]; mainZType = SearchZType(mainTypeToken); if (mainZType == noneType) { return(noneType); } IsAnalyed = true; if (ZTypeUtil.IsGenericType(mainZType)) { return(AnalyGeneric()); } else { return(AnalyNormal()); } }