Exemplo n.º 1
0
        public static List <CodeItem> MapMember(Node member)
        {
            switch (member.Kind)
            {
            case SyntaxKind.FunctionDeclaration:
                return(FunctionMapperJS.MapFunction(member as FunctionDeclaration, _control));

            case SyntaxKind.FunctionExpression:
                return(FunctionMapperJS.MapFunctionExpression(member as FunctionExpression, _control));

            case SyntaxKind.VariableStatement:
                return(MapVariable(member as VariableStatement));

            case SyntaxKind.ExpressionStatement:
            case SyntaxKind.PrefixUnaryExpression:
            case SyntaxKind.CallExpression:
            case SyntaxKind.PropertyAccessExpression:
                return(MapChildren(member));

            case SyntaxKind.BinaryExpression:
                return(MapBinaryExpression(member as BinaryExpression));

            default:
                break;
            }

            return(new List <CodeItem>());
        }
Exemplo n.º 2
0
        private static List <CodeItem> MapBinaryExpression(BinaryExpression expression)
        {
            if (expression.Right.Kind != SyntaxKind.FunctionExpression)
            {
                return(new List <CodeItem>());
            }

            var function = expression.Right as FunctionExpression;

            return(FunctionMapperJS.MapFunction(function, function.Parameters, expression.First.IdentifierStr, _control));
        }