コード例 #1
0
ファイル: BridgeType.cs プロジェクト: bematech/Bridge
        public static string ToTypeScriptName(AstType astType, IEmitter emitter, bool asDefinition = false, bool ignoreDependency = false)
        {
            string name      = null;
            var    primitive = astType as PrimitiveType;

            name = BridgeTypes.GetTsPrimitivie(primitive);
            if (name != null)
            {
                return(name);
            }

            var composedType = astType as ComposedType;

            if (composedType != null && composedType.ArraySpecifiers != null && composedType.ArraySpecifiers.Count > 0)
            {
                return(BridgeTypes.ToTypeScriptName(composedType.BaseType, emitter) + string.Concat(Enumerable.Repeat("[]", composedType.ArraySpecifiers.Count)));
            }

            var simpleType = astType as SimpleType;

            if (simpleType != null && simpleType.Identifier == "dynamic")
            {
                return("any");
            }

            var resolveResult = emitter.Resolver.ResolveNode(astType, emitter);

            return(BridgeTypes.ToTypeScriptName(resolveResult.Type, emitter, asDefinition: asDefinition, ignoreDependency: ignoreDependency));
        }