Ejemplo n.º 1
0
            public override void Visit(GuardedCast node)
            {
                //UpdateType(node, TypeCalculator.GetType(node, _cgInfo.FuncCode.Profiler));
                Profiler profile;

                _typeCalculator.GuardedCastProfile.TryGetValue(node, out profile);
                UpdateType(node, TypeCalculator.GetType(node, profile));
            }
Ejemplo n.º 2
0
            public override void Visit(WriteTemporaryExpression node)
            {
                var oldType = GetType(node);

                UpdateType(node, TypeCalculator.GetType(node));
                if (HasTypeChanged(node, oldType))
                {
                    VisitNodes(node.Users);
                }
            }
Ejemplo n.º 3
0
            public override void Visit(WriteIdentifierExpression node)
            {
                //TODO: Double check the alg
                var oldType = GetType(node);

                UpdateType(node, TypeCalculator.GetType(node));
                var newType = GetType(node);

                if (HasTypeChanged(node, oldType) || (GetType(node.Symbol) != newType))
                {
                    UpdateType(node.Symbol, GetType(node));
                }
            }
Ejemplo n.º 4
0
 public override void Visit(LogicalOrExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 5
0
 public override void Visit(BitwiseXorExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 6
0
 public override void Visit(NotSameExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 7
0
 public override void Visit(InstanceOfExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 8
0
 public override void Visit(CommaOperatorExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 9
0
 public override void Visit(ToObject node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 10
0
 public override void Visit(ToString node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 11
0
 public override void Visit(ToUInt16 node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 12
0
 public override void Visit(ToNumber node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 13
0
 public override void Visit(ToBoolean node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 14
0
 public override void Visit(ToPrimitive node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 15
0
 public override void Visit(ReadIdentifierExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 16
0
 public override void Visit(TernaryExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 17
0
 public override void Visit(RemainderExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 18
0
 public override void Visit(UnsignedRightShiftExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 19
0
 public override void Visit(WritePropertyExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 20
0
 public override void Visit(GreaterOrEqualExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 21
0
 public override void Visit(FunctionExpression node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }
Ejemplo n.º 22
0
 public override void Visit(ObjectLiteral node)
 {
     UpdateType(node, TypeCalculator.GetType(node));
 }