Sha256: 390db54ca3dfca90c8bd1e4ea5aabbc30e7b2c64f3d5bf0f01e79149c8f16803

Contents?: true

Size: 1.08 KB

Versions: 42

Compression:

Stored size: 1.08 KB

Contents

import System
import Boo.Lang.Interpreter from Boo.Lang.Interpreter

class ObjectInterpreter(AbstractInterpreter):

        _context as object

        [getter(Value)]
        _value as object

        def constructor(context):
            _context = context
            self.RememberLastValue = true

        override def Lookup(name as string):
            property = _context.GetType().GetProperty(name)
            return property.PropertyType if property is not null

        override def GetValue(name as string):
            return _context.GetType().GetProperty(name).GetValue(
                                          _context, null)

        override def SetLastValue(value):
            _value = value

        override def SetValue(name as string, value):
            raise InvalidOperationException()

        override def Declare(name as string, type as Type):
            raise InvalidOperationException()

class Person:
        [property(FirstName)]
        _fname as string = ""

p = Person(FirstName: "Homer")
i = ObjectInterpreter(p)
i.Eval('"Hello, ${FirstName.ToUpper()}!"')
print i.Value

Version data entries

42 entries across 42 versions & 5 rubygems

Version Path
tdiary-4.2.1 vendor/bundle/ruby/2.2.0/gems/pygments.rb-0.6.3/vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.6.3 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.6.2 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.6.1 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.6.0 vendor/pygments-main/tests/examplefiles/test.boo
mortar-pygments.rb-0.5.7 vendor/pygments-main/tests/examplefiles/test.boo
mortar-pygments.rb-0.5.6 vendor/pygments-main/tests/examplefiles/test.boo
mortar-pygments.rb-0.5.5 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-jruby-0.5.4.2 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-jruby-0.5.4.1 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-jruby-0.5.4 vendor/pygments-main/tests/examplefiles/test.boo
gitlab-pygments.rb-0.5.4 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.5.4 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.5.2 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.5.1 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.5.0 vendor/pygments-main/tests/examplefiles/test.boo
gitlab-pygments.rb-0.3.2 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.4.2 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.4.1 vendor/pygments-main/tests/examplefiles/test.boo
pygments.rb-0.3.7 vendor/pygments-main/tests/examplefiles/test.boo