protected JsExpressionStatement getCachedFileExpressionStatement( string arrayName, string fileName, string fileUri )
        {
            JsMemberExpression leftPref = AstUtils.getNewMemberExpression(fileName);

            JsAssignmentExpression newAssignment = new JsAssignmentExpression();

            string assoKey = arrayName + "[ '" + fileUri + "' ]";
            newAssignment.Left = AstUtils.getNewMemberExpression(assoKey, leftPref);
            newAssignment.Right = AstUtils.getCachedHtmlExpression(fileUri); ;

            JsExpressionStatement newStatement = new JsExpressionStatement();
            newStatement.Expression = newAssignment;
            return newStatement;
        }
        public JsExpressionStatement getInjectionPointsExpression()
        {
            if (cSharpDef != null)
            {
                JsAssignmentExpression newAssignment = new JsAssignmentExpression();

                // since this is static, prepend the class path.
                JsMemberExpression leftPref = AstUtils.getNewMemberExpression(cSharpDef.FullName);

                //shouldExcludeBasedOnNamespace;
                newAssignment.Left = AstUtils.getNewMemberExpression(OutputNameConstants.PROPERTY_INJECTION_POINTS, leftPref);
                newAssignment.Right = getInjectionPointsFunction( cSharpDef );

                JsExpressionStatement newStatement = new JsExpressionStatement();
                newStatement.Expression = newAssignment;
                return newStatement;
            }

            return null;
        }
 protected virtual void _visit( JsExpressionStatement node )
 {
     throw new NotImplementedException( "JsExpressionStatement" );
 }
        protected JsUnit getHtmlFileList(string fileName, List<string> fileList)
        {
            JsUnit result = AstUtils.getNewJsUnit();

            JsAssignmentExpression newAssignment = new JsAssignmentExpression();

            // since this is static, prepend the class path.
            JsMemberExpression leftPref = AstUtils.getNewMemberExpression(fileName);

            //shouldExcludeBasedOnNamespace;
            newAssignment.Left = AstUtils.getNewMemberExpression(OutputNameConstants.FUNCTION_GET_CACHED_FILE_LIST, leftPref);
            newAssignment.Right = getHtmlFileListFunction(fileList);

            JsExpressionStatement newStatement = new JsExpressionStatement();
            newStatement.Expression = newAssignment;
            result.Statements.Add(newStatement);

            return result;
        }
 protected override void _visit(JsExpressionStatement node)
 {
     if (node != null)
     {
         visit(node.Expression);
     }
 }
        protected JsUnit getFunctionCachedHtmlForUri(string fileName, List<string> fileList)
        {
            JsUnit result = AstUtils.getNewJsUnit();

            // since this is static, prepend the class path.
            JsMemberExpression leftPref = AstUtils.getNewMemberExpression(fileName);

            JsAssignmentExpression newAssignment = new JsAssignmentExpression();
            newAssignment.Left = AstUtils.getNewMemberExpression(OutputNameConstants.FUNCTION_GET_CACHED_HTML_FOR_URI, leftPref);
            newAssignment.Right = getCachedHtmlFileFunction(OutputNameConstants.PROPERTY_HTML_MERGED_FILES);

            JsExpressionStatement newStatement = new JsExpressionStatement();
            newStatement.Expression = newAssignment;
            result.Statements.Add(newStatement);

            return result;
        }
        /***************************************************************************************************************************/
        /**************************************** Array Statement Utilities *******************************************************/
        /***************************************************************************************************************************/
        public static JsExpressionStatement getStaticPropertyStatement(string propertyName, string classPath)
        {
            JsBinaryExpression newAssignment = new JsBinaryExpression();
            newAssignment.Operator = "=";

            // since this is static, prepend the class path.
            JsMemberExpression leftPref = AstUtils.getNewMemberExpression(classPath);
            // set the property name
            newAssignment.Left = AstUtils.getNewMemberExpression(propertyName, leftPref);
            // set the desired value for the property
            // only support strings, ref
            newAssignment.Right = AstUtils.getNewMemberExpression("\"" + classPath + "\"");

            JsExpressionStatement newStatement = new JsExpressionStatement();
            newStatement.Expression = newAssignment;
            return newStatement;
        }
 public static JsExpressionStatement getJsExpressionStatement( JsExpression exp )
 {
     JsExpressionStatement result = new JsExpressionStatement();
     result.Expression = exp;
     return result;
 }
        /***************************************************************************************************************************/
        /************************************************ For Getters and Setters **************************************************/
        /***************************************************************************************************************************/
        public static JsExpressionStatement getGetterSetterExpression(string propertyName, string returnName)
        {
            if(propertyName == null)
            {
                return null;
            }

            JsMemberExpression leftExp = getNewMemberExpression(propertyName);

            //
            JsBlock rightBlock = new JsBlock();
            rightBlock.Statements = new List<JsStatement>();
            rightBlock.Statements.Add(getJsReturnStatement(returnName));

            //
            JsFunction rightExp = new JsFunction();
            rightExp.Block = rightBlock;

            JsExpressionStatement results = new JsExpressionStatement();
            results.Expression = getJsAssignmentStatement(leftExp, null, rightExp);

            return results;
        }
Пример #10
0
 void _Visit(JsExpressionStatement node)
 {
     Visit(node.Expression);
     Semicolon();
 }
        public JsExpressionStatement getDependencyExpression()
        {
            if (cSharpDef != null)
            {
                JsAssignmentExpression newAssignment = new JsAssignmentExpression();
                newAssignment.Operator = "=";

                // since this is static, prepend the class path.
                JsMemberExpression leftPref = AstUtils.getNewMemberExpression(cSharpDef.FullName);

                //shouldExcludeBasedOnNamespace;
                newAssignment.Left = AstUtils.getNewMemberExpression(OutputNameConstants.FUNCTION_GET_CLASS_DEPENDENCIES, leftPref);
                newAssignment.Right = getClassDependencyFunction(jsEntity);

                JsExpressionStatement newStatement = new JsExpressionStatement();
                newStatement.Expression = newAssignment;
                return newStatement;
            }

            return null;
        }