예제 #1
0
        internal static string CalcInvokeTarget(bool isEnumClass, string classKey, CsDslTranslater cs2dsl, IOperation oper)
        {
            TryAddExternEnum(isEnumClass, oper);
            string ckey = classKey;

            if (isEnumClass)
            {
                if (oper.Type.TypeKind == TypeKind.Enum)
                {
                    var ci = cs2dsl.GetCurClassInfo();
                    ci.AddReference(oper.Type);

                    ckey = ClassInfo.GetFullName(oper.Type);
                }
            }
            return(ckey);
        }
예제 #2
0
        internal static string CalcInvokeTarget(bool isEnumClass, string classKey, CsDslTranslater cs2dsl, ExpressionSyntax exp, SemanticModel model)
        {
            TryAddExternEnum(isEnumClass, exp, model);
            string ckey = classKey;

            if (isEnumClass)
            {
                var oper = model.GetOperation(exp);
                if (oper.Type.TypeKind == TypeKind.Enum)
                {
                    var ci = cs2dsl.GetCurClassInfo();
                    ci.AddReference(oper.Type);

                    ckey = ClassInfo.GetFullName(oper.Type);
                }
            }
            return(ckey);
        }