コード例 #1
0
ファイル: opcodes.py プロジェクト: pymedusa/SickRage
    def eval(self, ctx):
        value = ctx.stack.pop()
        left = ctx.stack.pop()

        typ = type(left)
        if typ in PRIMITIVES:
            if typ == NULL_TYPE:
                raise MakeError('TypeError', "Cannot set property '%s' of null" % self.prop)
            elif typ == UNDEFINED_TYPE:
                raise MakeError('TypeError', "Cannot set property '%s' of undefined" % self.prop)
            ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot(left, self.prop, ctx.space), value))
            return
        else:
            ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot(left, self.prop, ctx.space), value))
            left.put(self.prop, ctx.stack[-1])
コード例 #2
0
    def eval(self, ctx):
        args = ctx.stack.pop()
        base = ctx.stack.pop()

        func = get_member_dot(base, self.prop, ctx.space)

        return bytecode_call(ctx, func, base, args)
コード例 #3
0
ファイル: opcodes.py プロジェクト: pymedusa/SickRage
    def eval(self, ctx):
        args = ctx.stack.pop()
        base = ctx.stack.pop()

        func = get_member_dot(base, self.prop, ctx.space)

        return bytecode_call(ctx, func, base, args)
コード例 #4
0
ファイル: opcodes.py プロジェクト: pymedusa/SickRage
    def eval(self, ctx):
        left = ctx.stack.pop()

        target = to_number(get_member_dot(left, self.prop, ctx.space)) + self.cb
        if type(left) not in PRIMITIVES:
            left.put(self.prop, target)

        ctx.stack.append(target + self.ca)
コード例 #5
0
    def eval(self, ctx):
        left = ctx.stack.pop()

        target = to_number(get_member_dot(left, self.prop,
                                          ctx.space)) + self.cb
        if type(left) not in PRIMITIVES:
            left.put(self.prop, target)

        ctx.stack.append(target + self.ca)
コード例 #6
0
    def eval(self, ctx):
        value = ctx.stack.pop()
        left = ctx.stack.pop()

        typ = type(left)
        if typ in PRIMITIVES:
            if typ == NULL_TYPE:
                raise MakeError('TypeError',
                                "Cannot set property '%s' of null" % self.prop)
            elif typ == UNDEFINED_TYPE:
                raise MakeError(
                    'TypeError',
                    "Cannot set property '%s' of undefined" % self.prop)
            ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot(
                left, self.prop, ctx.space), value))
            return
        else:
            ctx.stack.append(BINARY_OPERATIONS[self.op](get_member_dot(
                left, self.prop, ctx.space), value))
            left.put(self.prop, ctx.stack[-1])
コード例 #7
0
 def eval(self, ctx):
     obj = ctx.stack.pop()
     ctx.stack.append(get_member_dot(obj, self.prop, ctx.space))
コード例 #8
0
ファイル: opcodes.py プロジェクト: pymedusa/SickRage
 def eval(self, ctx):
     obj = ctx.stack.pop()
     ctx.stack.append(get_member_dot(obj, self.prop, ctx.space))