예제 #1
0
        public DebugInformation CreateDebugInformation(Statement statement)
        {
            DebugInformation info = new DebugInformation();
            info.CurrentStatement = statement;
            info.CallStack = CallStack;
            info.Locals = new JsObject() { Prototype = JsUndefined.Instance };
            DebugMode = false;
            foreach (JsDictionaryObject scope in Scopes.ToArray())
            {
                foreach (var property in scope.GetKeys())
                {
                    if (!info.Locals.HasProperty(property))
                    {
                        info.Locals[property] = scope[property];
                    }
                }
            }
            DebugMode = true;

            return info;
        }
예제 #2
0
 public WhileStatement(Expression condition, Statement statement)
 {
     Condition = condition;
     Statement = statement;
 }
예제 #3
0
 public JsFunction(Statement statement)
     : this()
 {
     Statement = statement;
 }
예제 #4
0
		public void Visit(Statement expression)
		{
			throw new System.NotSupportedException();
		}
예제 #5
0
 public CatchClause(string identifier, Statement statement) {
     Identifier = identifier;
     Statement = statement;
 }
예제 #6
0
 public WithStatement(Expression expression, Statement statement)
 {
     Statement = statement;
     Expression = expression;
 }
예제 #7
0
        public DebugInformation CreateDebugInformation(Statement statement)
        {
            DebugInformation info = new DebugInformation();
            info.CurrentStatement = statement;
            info.CallStack = CallStack;
            info.Locals = new JsObject(JsNull.Instance);
            DebugMode = false;

            foreach (var property in CurrentScope.GetKeys())
                info.Locals[property] = CurrentScope[property];

            DebugMode = true;

            return info;
        }
예제 #8
0
 public void Visit(Statement expression)
 {
     // fallback for an unsupported expression
     throw new NotImplementedException();
 }
예제 #9
0
 public JsFunction(IGlobal global, Statement statement)
     : this(global.FunctionClass.PrototypeProperty)
 {
     Statement = statement;
 }
예제 #10
0
 public StatementInfo(int i, Statement s)
 {
     index = i;
     statement = s;
 }
예제 #11
0
 public void Visit(Statement expression)
 {
     throw new NotImplementedException();
 }
예제 #12
0
 public FinallyClause(Statement statement)
 {
     Statement = statement;
 }
예제 #13
0
파일: IronJint.cs 프로젝트: welias/IronWASP
        void Analyze(LinkedList<Statement> Statements)
        {
            Statement[] Stmts = new Statement[Statements.Count];
            Statements.CopyTo(Stmts, 0);
            for (int i = 0; i < Stmts.Length; i++)
            {

                if (Stmts[i] != null) Analyze(Stmts[i]);
            }
        }
예제 #14
0
파일: IronJint.cs 프로젝트: welias/IronWASP
 void SetCurrentLineAndCharNos(Statement Stmt)
 {
     if (Stmt != null)
     {
         if (Stmt.Source != null)
         {
             CurrentLineNo = Stmt.Source.Start.Line;
             CurrentCharNo = Stmt.Source.Start.Char;
         }
     }
 }
 public FinallyClause(Statement statement)
 {
     Statement = statement;
 }