Beispiel #1
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsVariableDeclarationStatement)node;

            node2.Declaration = Declaration.Clone();
        }
Beispiel #2
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsReturnStatement)node;

            node2.Expression = Expression.Clone();
        }
Beispiel #3
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var st = (JsCodeStatement)node;

            st.Code = Code;
        }
Beispiel #4
0
        private List <JsToken> GetFormattedTokens(JsNode node)
        {
            var tokens    = GetTokens(node);
            var formatted = FormatTokens(tokens);

            return(formatted);
        }
Beispiel #5
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsParenthesizedExpression)node;

            node2.Expression = Expression.Clone();
        }
Beispiel #6
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsNumberExpression)node;

            node2.Value = Value;
        }
Beispiel #7
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsExternalFileUnit)node;

            node2.Filename = Filename;
        }
Beispiel #8
0
        public void VisitFormatAndWrite(JsNode node)
        {
            var tokens    = GetTokens(node);
            var formatted = FormatTokens(tokens);

            WriteTokens(formatted);
        }
Beispiel #9
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsNewObjectExpression)node;

            node2.Invocation = Invocation.Clone();
        }
Beispiel #10
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsCommentStatement)node;

            node2.Text = Text;
        }
Beispiel #11
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsCodeExpression)node;

            node2.Code = Code;
        }
Beispiel #12
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsCatchClause)node;

            node2.IdentifierName = IdentifierName;
            node2.Block          = Block.Clone();
        }
Beispiel #13
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsPostUnaryExpression)node;

            node2.Operator = Operator;
            node2.Left     = Left.Clone();
        }
Beispiel #14
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsPreUnaryExpression)node;

            node2.Operator = Operator;
            node2.Right    = Right.Clone();
        }
Beispiel #15
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsVariableDeclarator)node;

            node2.Name        = Name;
            node2.Initializer = Initializer.Clone();
        }
Beispiel #16
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsMemberExpression)node;

            node2.Name           = Name;
            node2.PreviousMember = PreviousMember.Clone();
        }
Beispiel #17
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsJsonMember)node;

            node2.IsStringLiteral = IsStringLiteral;
            node2.Name            = Name;
        }
Beispiel #18
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsJsonNameValue)node;

            node2.Name  = Name.Clone();
            node2.Value = Value.Clone();
        }
Beispiel #19
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsDoWhileStatement)node;

            node2.Condition = Condition.Clone();
            node2.Statement = Statement.Clone();
        }
Beispiel #20
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsSwitchLabel)node;

            node2.IsDefault  = IsDefault;
            node2.Expression = Expression.Clone();
        }
Beispiel #21
0
 void SetParents(JsNode node)
 {
     foreach (var ch in node.Children())
     {
         Parents[ch] = node;
         SetParents(ch);
     }
 }
Beispiel #22
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsIfStatement)node;

            node2.Condition     = Condition.Clone();
            node2.IfStatement   = IfStatement.Clone();
            node2.ElseStatement = ElseStatement.Clone();
        }
Beispiel #23
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsTryStatement)node;

            node2.TryBlock     = TryBlock.Clone();
            node2.CatchClause  = CatchClause.Clone();
            node2.FinallyBlock = FinallyBlock.Clone();
        }
Beispiel #24
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsForInStatement)node;

            node2.Initializer = Initializer.Clone();
            node2.Member      = Member.Clone();
            node2.Statement   = Statement.Clone();
        }
Beispiel #25
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsAssignmentExpression)node;

            node2.Operator = Operator;
            node2.Left     = Left.Clone();
            node2.Right    = Right.Clone();
        }
Beispiel #26
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsConditionalExpression)node;

            node2.Condition       = Condition.Clone();
            node2.TrueExpression  = TrueExpression.Clone();
            node2.FalseExpression = FalseExpression.Clone();
        }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsStatement)node;
     if (Comments != null)
     {
         if (node2.Comments == null)
             node2.Comments = new List<String>();
         node2.Comments.AddRange(Comments);
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsUnit)node;
     if (Statements != null)
     {
         if (node2.Statements == null)
             node2.Statements = new List<JsStatement>();
         node2.Statements.AddRange(Statements.Select(t => t.Clone()));
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsNodeList)node;
     if (Nodes != null)
     {
         if (node2.Nodes == null)
             node2.Nodes = new List<JsNode>();
         node2.Nodes.AddRange(Nodes.Select(t => t.Clone()));
     }
 }
Beispiel #30
0
        public List <JsToken> GetTokens(JsNode node)
        {
            if (Tokens.Count > 0)
            {
                throw new Exception("Unused tokens left in writer");
            }
            Visit(node);
            var list = Tokens;

            Tokens = new List <JsToken>();
            return(list);
        }
Beispiel #31
0
        public static bool IsSwitchSectionStatement(this JsNode node)
        {
            var st = node.GetStatement();

            if (st != null && st.Parent != null && st.Parent.Is(JsNodeType.SwitchSection))
            {
                var section = ((JsSwitchSection)st.Parent);
                var x       = section.Statements.Contains(st);
                return(x);
            }
            return(false);
        }
Beispiel #32
0
        public static JsStatement GetStatement(this JsNode node)
        {
            var x = node;

            while (x != null)
            {
                if (x is JsStatement)
                {
                    return((JsStatement)x);
                }
                x = x.Parent;
            }
            return(null);
        }
Beispiel #33
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsNodeList)node;

            if (Nodes != null)
            {
                if (node2.Nodes == null)
                {
                    node2.Nodes = new List <JsNode>();
                }
                node2.Nodes.AddRange(Nodes.Select(t => t.Clone()));
            }
        }
Beispiel #34
0
        public override void Clone(JsNode node)
        {
            base.Clone(node);
            var node2 = (JsStatementExpressionList)node;

            if (Expressions != null)
            {
                if (node2.Expressions == null)
                {
                    node2.Expressions = new List <JsExpression>();
                }
                node2.Expressions.AddRange(Expressions.Select(t => t.Clone()));
            }
        }
        protected void visit(JsNode node, bool include)
        {
            if (node != null)
            {
                switch (node.NodeType)
                {
                    case JsNodeType.InvocationExpression:
                        _visit( ( JsInvocationExpression ) node, include );
                        break;

                    case JsNodeType.MemberExpression:
                        _visit((JsMemberExpression) node, include);
                        break;

                    default:
                        visit(node);
                        break;
                }
            }
        }
Beispiel #36
0
 JsNode GetParent(JsNode node)
 {
     return Parents.TryGetValue(node);
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsNumberExpression)node;
     node2.Value = Value;
 }
 public JsNodeVisitorBase( DefaultResolvedTypeDefinition arg1, JsNode arg2 )
 {
     this.cSharpDef = arg1;
     this.jsEntity = arg2;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsVariableDeclarator)node;
     node2.Name = Name;
     node2.Initializer = Initializer.Clone();
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsCodeExpression)node;
     node2.Code = Code;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsJsonNameValue)node;
     node2.Name = Name.Clone();
     node2.Value = Value.Clone();
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsSwitchStatement)node;
     node2.Expression = Expression.Clone();
     if (Sections != null)
     {
         if (node2.Sections == null)
             node2.Sections = new List<JsSwitchSection>();
         node2.Sections.AddRange(Sections.Select(t => t.Clone()));
     }
 }
 public ClassDependencyVisitor(DefaultResolvedTypeDefinition arg1, JsNode arg2)
     : base(arg1, arg2)
 {
     dependencyList = new List<string>();
     buildDependencyList();
 }
 private JsNode WrapSetterToReturnValueIfNeeded(OperatorResolveResult res, JsNode node2)
 {
     return Importer.WrapSetterToReturnValueIfNeeded(res, node2);
 }
Beispiel #45
0
 private void ReplaceNode(JsNode node, JsNode node2)
 {
     var parent = GetParent(node);
     if (parent is JsBlock)
     {
         var block = (JsBlock)parent;
         var index = block.Statements.IndexOf((JsStatement)node);
         if (index < 0)
             throw new Exception("ReplaceNode Failed");
         block.Statements[index] = (JsStatement)node2;
         return;
     }
     foreach (var pe in parent.GetType().GetProperties())
     {
         var obj = pe.GetValue(parent, null);
         if (obj == node)
         {
             pe.SetValue(parent, node2, null);
             return;
         }
     }
     throw new Exception("ReplaceNode failed");
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsInvocationExpression)node;
     node2.Member = Member.Clone();
     if (Arguments != null)
     {
         if (node2.Arguments == null)
             node2.Arguments = new List<JsExpression>();
         node2.Arguments.AddRange(Arguments.Select(t => t.Clone()));
     }
     node2.ArgumentsPrefix = ArgumentsPrefix;
     node2.ArgumentsSuffix = ArgumentsSuffix;
     node2.OmitParanthesis = OmitParanthesis;
     node2.OmitCommas = OmitCommas;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsFunction)node;
     node2.Name = Name;
     if (Parameters != null)
     {
         if (node2.Parameters == null)
             node2.Parameters = new List<String>();
         node2.Parameters.AddRange(Parameters);
     }
     node2.Block = Block.Clone();
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsJsonMember)node;
     node2.IsStringLiteral = IsStringLiteral;
     node2.Name = Name;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsNewObjectExpression)node;
     node2.Invocation = Invocation.Clone();
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsCatchClause)node;
     node2.IdentifierName = IdentifierName;
     node2.Block = Block.Clone();
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsVariableDeclarationExpression)node;
     if (Declarators != null)
     {
         if (node2.Declarators == null)
             node2.Declarators = new List<JsVariableDeclarator>();
         node2.Declarators.AddRange(Declarators.Select(t => t.Clone()));
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsStatementExpressionList)node;
     if (Expressions != null)
     {
         if (node2.Expressions == null)
             node2.Expressions = new List<JsExpression>();
         node2.Expressions.AddRange(Expressions.Select(t => t.Clone()));
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsNullExpression)node;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsJsonArrayExpression)node;
     if (Items != null)
     {
         if (node2.Items == null)
             node2.Items = new List<JsExpression>();
         node2.Items.AddRange(Items.Select(t => t.Clone()));
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsThis)node;
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsMemberExpression)node;
     node2.Name = Name;
     node2.PreviousMember = PreviousMember.Clone();
 }
 protected void visit( JsNode node )
 {
     if (node != null)
     {
         switch (node.NodeType)
         {
             case JsNodeType.AssignmentExpression:
                 _visit((JsAssignmentExpression) node);
                 break;
             case JsNodeType.BinaryExpression:
                 _visit( ( JsBinaryExpression ) node );
                 break;
             case JsNodeType.Block:
                 _visit( ( JsBlock ) node );
                 break;
             case JsNodeType.BreakStatement:
                 _visit((JsBreakStatement) node);
                 break;
             case JsNodeType.CatchClause:
                 _visit((JsCatchClause) node);
                 break;
             case JsNodeType.CodeExpression:
                 _visit((JsCodeExpression) node);
                 break;
             case JsNodeType.CommentStatement:
                 _visit((JsCommentStatement) node);
                 break;
             case JsNodeType.ConditionalExpression:
                 _visit((JsConditionalExpression) node);
                 break;
             case JsNodeType.ContinueStatement:
                 _visit((JsContinueStatement) node);
                 break;
             case JsNodeType.DoWhileStatement:
                 _visit((JsDoWhileStatement) node);
                 break;
             case JsNodeType.Expression:
                 _visit((JsExpression) node);
                 break;
             case JsNodeType.ExpressionStatement:
                 _visit((JsExpressionStatement) node);
                 break;
             case JsNodeType.ExternalFileUnit:
                 _visit((JsExternalFileUnit) node);
                 break;
             case JsNodeType.ForInStatement:
                 _visit((JsForInStatement) node);
                 break;
             case JsNodeType.ForStatement:
                 _visit((JsForStatement) node);
                 break;
             case JsNodeType.Function:
                 _visit((JsFunction) node);
                 break;
             case JsNodeType.IfStatement:
                 _visit((JsIfStatement) node);
                 break;
             case JsNodeType.IndexerAccessExpression:
                 _visit((JsIndexerAccessExpression) node);
                 break;
             case JsNodeType.InvocationExpression:
                 _visit((JsInvocationExpression) node);
                 break;
             case JsNodeType.JsonArrayExpression:
                 _visit((JsJsonArrayExpression) node);
                 break;
             case JsNodeType.JsonMember:
                 _visit((JsJsonMember) node);
                 break;
             case JsNodeType.JsonNameValue:
                 _visit((JsJsonNameValue) node);
                 break;
             case JsNodeType.JsonObjectExpression:
                 _visit((JsJsonObjectExpression) node);
                 break;
             case JsNodeType.MemberExpression:
                 _visit((JsMemberExpression) node);
                 break;
             case JsNodeType.NewObjectExpression:
                 _visit((JsNewObjectExpression) node);
                 break;
             case JsNodeType.NodeList:
                 _visit((JsNodeList) node);
                 break;
             case JsNodeType.NullExpression:
                 _visit((JsNullExpression) node);
                 break;
             case JsNodeType.NumberExpression:
                 _visit((JsNumberExpression) node);
                 break;
             case JsNodeType.ParenthesizedExpression:
                 _visit((JsParenthesizedExpression) node);
                 break;
             case JsNodeType.PostUnaryExpression:
                 _visit((JsPostUnaryExpression) node);
                 break;
             case JsNodeType.PreUnaryExpression:
                 _visit((JsPreUnaryExpression) node);
                 break;
             case JsNodeType.RegexExpression:
                 _visit((JsRegexExpression) node);
                 break;
             case JsNodeType.ReturnStatement:
                 _visit((JsReturnStatement) node);
                 break;
             case JsNodeType.Statement:
                 _visit((JsStatement) node);
                 break;
             case JsNodeType.StatementExpressionList:
                 _visit((JsStatementExpressionList) node);
                 break;
             case JsNodeType.StringExpression:
                 _visit((JsStringExpression) node);
                 break;
             case JsNodeType.SwitchLabel:
                 _visit((JsSwitchLabel) node);
                 break;
             case JsNodeType.SwitchSection:
                 _visit((JsSwitchSection) node);
                 break;
             case JsNodeType.SwitchStatement:
                 _visit((JsSwitchStatement) node);
                 break;
             case JsNodeType.This:
                 _visit((JsThis) node);
                 break;
             case JsNodeType.ThrowStatement:
                 _visit((JsThrowStatement) node);
                 break;
             case JsNodeType.TryStatement:
                 _visit((JsTryStatement) node);
                 break;
             case JsNodeType.Unit:
                 _visit((JsUnit) node);
                 break;
             case JsNodeType.VariableDeclarationExpression:
                 _visit((JsVariableDeclarationExpression) node);
                 break;
             case JsNodeType.VariableDeclarationStatement:
                 _visit((JsVariableDeclarationStatement) node);
                 break;
             case JsNodeType.VariableDeclarator:
                 _visit((JsVariableDeclarator) node);
                 break;
             case JsNodeType.WhileStatement:
                 _visit((JsWhileStatement) node);
                 break;
             case JsNodeType.UseStrictStatement:
                 _visit((JsUseStrictStatement) node);
                 break;
         }
     }
 }
 public override void Clone(JsNode node)
 {
     base.Clone(node);
     var node2 = (JsIndexerAccessExpression)node;
     node2.Member = Member.Clone();
     if (Arguments != null)
     {
         if (node2.Arguments == null)
             node2.Arguments = new List<JsExpression>();
         node2.Arguments.AddRange(Arguments.Select(t => t.Clone()));
     }
 }
        void Compiler_AfterConvertCsToJsEntity( IEntity arg1, JsNode arg2 )
        {
            if ( arg1 == null || arg2 == null )
            {
                throw new Exception( "Incorrect parameters sent from SharpKit." );
            }

            foreach ( IAttribute classAttr in arg1.Attributes )
            {
                foreach ( ResolveResult posAttr in classAttr.PositionalArguments )
                {
                    if ( posAttr is MemberResolveResult )
                    {
                        MemberResolveResult mrr = ( MemberResolveResult ) posAttr;

                        // Omit global classes.
                        if ( mrr.Member.MemberDefinition.FullName == "SharpKit.JavaScript.JsMode.Global" )
                        {
                            return;
                        }
                    }
                }
            }

            switch ( arg1.SymbolKind )
            {
                case SymbolKind.TypeDefinition:

                    DefaultResolvedTypeDefinition cSharpDef = ( DefaultResolvedTypeDefinition ) arg1;
                    JsUnit jsDef = ( JsUnit ) arg2;

                    insertClassNameProperty( cSharpDef, jsDef );

                    insertDependencyList( cSharpDef, jsDef );

                    insertBindableMetadata( cSharpDef, jsDef );

                    insertInjectionPoints( cSharpDef, jsDef );
                    break;
                default:
                    //
                    break;
            }
        }
Beispiel #60
0
 public virtual void Clone(JsNode node)
 {
     node.StartLocation = StartLocation;
     node.EndLocation = EndLocation;
     Annotations.ForEach(t => node.AddAnnotation(t));
 }