Пример #1
0
 public void VisitExp(DB_Type type, DB_Member member, DB_StatementSyntax statement, IndifierExp exp, Exp outer)
 {
     Model.IndifierInfo info = model.GetIndifierInfo(exp.Name);
     if (info.type != null)
     {
         typeRef.Add(info.type.GetRefType());
     }
 }
Пример #2
0
 public void VisitExp(DB_Type type, DB_Member member, DB_StatementSyntax statement, IndifierExp exp, Exp outer)
 {
     Model.IndifierInfo info = model.GetIndifierInfo(exp.Name);
     if (info.is_class_type_parameter)
     {
         Console.Error.Write("未处理的类型参数标识符 " + exp.Name);
     }
     //if (info.type != null)
     //    typeRef.Add(info.type.GetRefType());
 }
Пример #3
0
            public static Metadata.DB_Type GetType(Metadata.Expression.TypeSyntax typeSyntax, Metadata.Model model)
            {
                if (typeSyntax.isGenericType)
                {
                    Metadata.DB_Type ma = GetType(typeSyntax.GetTypeDefinitionFullName());
                    return(Metadata.DB_Type.MakeGenericType(ma, typeSyntax.args, new Metadata.Model(new Finder())));
                }

                if (typeSyntax.isGenericParameter)
                {
                    //return Metadata.DB_Type.MakeGenericParameterType(GetType(typeSyntax), new Metadata.GenericParameterDefinition() { type_name = gps.Name });
                    return(model.GetIndifierInfo(typeSyntax.Name).type);
                }

                return(GetType(typeSyntax.GetTypeDefinitionFullName()));
            }