Created
October 16, 2012 01:59
-
-
Save pehrlich/3896867 to your computer and use it in GitHub Desktop.
verbose mirah copmlication of bike.mirag (LeJos)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
~/Projects/LeJos/bike mirahc --verbose --java --classpath /Users/peter/Downloads/leJOS_NXJ_0.9.1beta-3/lib/nxt/classes.jar test.mirah | |
Parsing... | |
test.mirah | |
Inferring types... | |
* [AST] [Import] Import(* = lejos.nxt.*) resolved! | |
* [AST] [Import] Import(GyroSensor = lejos.nxt.addon.GyroSensor) resolved! | |
* [AST] [Import] Import(GyroDirectionFinder = lejos.nxt.addon.GyroDirectionFinder) resolved! | |
* [Mirah::Typer] New type defined: 'MyButtonListener' < '' | |
* [AST] [Implements] Implements resolved! | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x171ccb0> : b = Type(lejos.nxt.Button) | |
* [AST] [RequiredArgument] RequiredArgument(b) resolved! | |
* [AST] [Arguments] Arguments resolved! | |
* [AST] [String] String("ESC pressed") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(6) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Learned method buttonPressed ([#<Mirah::JVM::Types::Type lejos.nxt.Button>]) on Type(MyButtonListener) = Type(void) | |
* [Mirah::Typer] Deferring inference for MethodDefinition(buttonPressed) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x7e425258> : b = Type(lejos.nxt.Button) | |
* [AST] [RequiredArgument] RequiredArgument(b) resolved! | |
* [AST] [Arguments] Arguments resolved! | |
* [AST] [String] String("ESC released") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(6) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Learned method buttonReleased ([#<Mirah::JVM::Types::Type lejos.nxt.Button>]) on Type(MyButtonListener) = Type(void) | |
* [Mirah::Typer] Deferring inference for MethodDefinition(buttonReleased) | |
* [Mirah::Typer] Deferring inference for Body | |
* [Mirah::Typer] Deferring inference for Body | |
* [AST] [ClassDefinition] ClassDefinition(MyButtonListener) resolved! | |
* [Mirah::Typer] New type defined: 'Test' < '' | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : args = Type(java.lang.String array) | |
* [AST] [RequiredArgument] RequiredArgument(args) resolved! | |
* [AST] [Arguments] Arguments resolved! | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(new) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Method type for "ESCAPE" [] on Type(lejos.nxt.Button meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(ESCAPE) | |
* [Mirah::Typer] Deferring inference for Local(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(addButtonListener) | |
* [Mirah::Typer] Method type for "S1" [] on Type(lejos.nxt.SensorPort meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(S1) | |
* [Mirah::Typer] Deferring inference for Call(new) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(new) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) | |
* [AST] [String] String("calibrating gryo") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(3) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Deferring inference for Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(recalibrateOffset) | |
* [AST] [String] String("done! ") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(3) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(currentTimeMillis) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
* [AST] [Boolean] Boolean(true) resolved! | |
* [AST] [Condition] Condition resolved! | |
* [Mirah::Typer] Deferring inference for Local(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(getDegrees) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
* [AST] [String] String("angle: ") resolved! | |
* [Mirah::Typer] Deferring inference for Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(valueOf) | |
* [AST] [String] String("° ") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(3) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Method type for "A" [] on Type(lejos.nxt.Motor meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(A) | |
* [Mirah::Typer] Deferring inference for Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for FunctionalCall(int) | |
* [Mirah::Typer] Deferring inference for Call(rotateTo) | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(currentTimeMillis) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
* [AST] [String] String("refresh: ") resolved! | |
* [Mirah::Typer] Deferring inference for Local(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Local(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Call(-) | |
* [Mirah::Typer] Deferring inference for Call(valueOf) | |
* [AST] [String] String("ms ") resolved! | |
* [AST] [Fixnum] Fixnum(0) resolved! | |
* [AST] [Fixnum] Fixnum(7) resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Deferring inference for Call(drawString) | |
* [Mirah::Typer] Deferring inference for Local(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] Deferring inference for Body | |
* [Mirah::Typer] Deferring inference for Loop(check_first = true, negative = false) | |
* [Mirah::Typer] Deferring inference for Body | |
* [Mirah::Typer] Learned method main ([#<Mirah::JVM::Types::ArrayType java.lang.String>]) on Type(Test meta) = Type(void) | |
* [Mirah::Typer] Deferring inference for StaticMethodDefinition(main) | |
* [Mirah::Typer] Deferring inference for Body | |
* [AST] [ClassDefinition] ClassDefinition(Test) resolved! | |
* [AST] [Body] Body resolved! | |
* [AST] [Script] Script resolved! | |
* [Mirah::Typer] Entering type inference cycle | |
* [Mirah::Typer] [Cycle 0]: Started... (47 nodes to resolve) | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Learned method buttonPressed ([#<Mirah::JVM::Types::Type lejos.nxt.Button>]) on Type(MyButtonListener) = Type(void) | |
* [AST] [MethodDefinition] MethodDefinition(buttonPressed) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for MethodDefinition(buttonPressed): Type(void) | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Learned method buttonReleased ([#<Mirah::JVM::Types::Type lejos.nxt.Button>]) on Type(MyButtonListener) = Type(void) | |
* [AST] [MethodDefinition] MethodDefinition(buttonReleased) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for MethodDefinition(buttonReleased): Type(void) | |
* [AST] [Body] Body resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Body: Type(void) | |
* [AST] [Body] Body resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Body: Type(void) | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [Mirah::Typer] Deferring inference for Call(new) | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(new): FAILED | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false): FAILED | |
* [Mirah::Typer] Method type for "ESCAPE" [] on Type(lejos.nxt.Button meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for lejos.nxt.Button.ESCAPE() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for 'ESCAPE' on class Type(lejos.nxt.Button meta) | |
* [JVM::Types] Found method lejos.nxt.Button.ESCAPE() from lejos.nxt.Button | |
* [Mirah::Typer] Method type for "ESCAPE" [] on Type(lejos.nxt.Button meta) = Type(lejos.nxt.Button) | |
* [AST] [Call] Call(ESCAPE) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(ESCAPE): Type(lejos.nxt.Button) | |
* [Mirah::Typer] Deferring inference for Local(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = listener, scope = StaticMethodDefinition(main), captured = false): FAILED | |
* [Mirah::Typer] Deferring inference for Call(addButtonListener) | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(addButtonListener): FAILED | |
* [Mirah::Typer] Method type for "S1" [] on Type(lejos.nxt.SensorPort meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for lejos.nxt.SensorPort.S1() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for 'S1' on class Type(lejos.nxt.SensorPort meta) | |
* [JVM::Types] Found method lejos.nxt.SensorPort.S1() from lejos.nxt.SensorPort | |
* [Mirah::Typer] Method type for "S1" [] on Type(lejos.nxt.SensorPort meta) = Type(lejos.nxt.SensorPort) | |
* [AST] [Call] Call(S1) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(S1): Type(lejos.nxt.SensorPort) | |
* [Mirah::Typer] Method type for "new" [#<Mirah::JVM::Types::Type lejos.nxt.SensorPort>] on Type(lejos.nxt.addon.GyroSensor meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for lejos.nxt.addon.GyroSensor.<init>(lejos.nxt.SensorPort) | |
* [JVM::Types] Beginning JLS phase 1 search with params (["lejos.nxt.SensorPort"]) | |
* [JVM::Types] Found method lejos.nxt.addon.GyroSensor.<init>(lejos.nxt.ADSensorPort) from lejos.nxt.addon.GyroSensor | |
* [Mirah::Typer] Method type for "new" [#<Mirah::JVM::Types::Type lejos.nxt.SensorPort>] on Type(lejos.nxt.addon.GyroSensor meta) = Type(lejos.nxt.addon.GyroSensor meta) | |
* [AST] [Call] Call(new) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(new): Type(lejos.nxt.addon.GyroSensor) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : gyro = Type(lejos.nxt.addon.GyroSensor) | |
* [AST] [LocalAssignment] LocalAssignment(name = gyro, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = gyro, scope = StaticMethodDefinition(main), captured = false): Type(lejos.nxt.addon.GyroSensor) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : gyro = Type(lejos.nxt.addon.GyroSensor) | |
* [AST] [Local] Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = gyro, scope = StaticMethodDefinition(main), captured = false): Type(lejos.nxt.addon.GyroSensor) | |
* [Mirah::Typer] Method type for "new" [#<Mirah::JVM::Types::Type lejos.nxt.addon.GyroSensor>] on Type(lejos.nxt.addon.GyroDirectionFinder meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for lejos.nxt.addon.GyroDirectionFinder.<init>(lejos.nxt.addon.GyroSensor) | |
* [JVM::Types] Beginning JLS phase 1 search with params (["lejos.nxt.addon.GyroSensor"]) | |
* [JVM::Types] Found method lejos.nxt.addon.GyroDirectionFinder.<init>(lejos.robotics.Gyroscope) from lejos.nxt.addon.GyroDirectionFinder | |
* [Mirah::Typer] Method type for "new" [#<Mirah::JVM::Types::Type lejos.nxt.addon.GyroSensor>] on Type(lejos.nxt.addon.GyroDirectionFinder meta) = Type(lejos.nxt.addon.GyroDirectionFinder meta) | |
* [AST] [Call] Call(new) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(new): Type(lejos.nxt.addon.GyroDirectionFinder) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : gyroBoss = Type(lejos.nxt.addon.GyroDirectionFinder) | |
* [AST] [LocalAssignment] LocalAssignment(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false): Type(lejos.nxt.addon.GyroDirectionFinder) | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : gyro = Type(lejos.nxt.addon.GyroSensor) | |
* [AST] [Local] Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = gyro, scope = StaticMethodDefinition(main), captured = false): Type(lejos.nxt.addon.GyroSensor) | |
* [Mirah::Typer] Method type for "recalibrateOffset" [] on Type(lejos.nxt.addon.GyroSensor) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.addon.GyroSensor.recalibrateOffset() from lejos.nxt.addon.GyroSensor | |
* [Mirah::Typer] Method type for "recalibrateOffset" [] on Type(lejos.nxt.addon.GyroSensor) = Type(void) | |
* [AST] [Call] Call(recalibrateOffset) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(recalibrateOffset): Type(lejos.nxt.addon.GyroSensor) | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method java.lang.System.currentTimeMillis() from java.lang.System | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) = Type(long) | |
* [AST] [Call] Call(currentTimeMillis) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(currentTimeMillis): Type(long) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : time1 = Type(long) | |
* [AST] [LocalAssignment] LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : gyroBoss = Type(lejos.nxt.addon.GyroDirectionFinder) | |
* [AST] [Local] Local(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false): Type(lejos.nxt.addon.GyroDirectionFinder) | |
* [Mirah::Typer] Method type for "getDegrees" [] on Type(lejos.nxt.addon.GyroDirectionFinder) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.addon.GyroDirectionFinder.getDegrees() from lejos.nxt.addon.GyroDirectionFinder | |
* [Mirah::Typer] Method type for "getDegrees" [] on Type(lejos.nxt.addon.GyroDirectionFinder) = Type(float) | |
* [AST] [Call] Call(getDegrees) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(getDegrees): Type(float) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : degrees = Type(float) | |
* [AST] [LocalAssignment] LocalAssignment(name = degrees, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = degrees, scope = StaticMethodDefinition(main), captured = false): Type(float) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : degrees = Type(float) | |
* [AST] [Local] Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = degrees, scope = StaticMethodDefinition(main), captured = false): Type(float) | |
* [Mirah::Typer] Method type for "valueOf" [#<Mirah::JVM::Types::FloatType float>] on Type(java.lang.String meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method java.lang.String.valueOf(float) from java.lang.String | |
* [Mirah::Typer] Method type for "valueOf" [#<Mirah::JVM::Types::FloatType float>] on Type(java.lang.String meta) = Type(java.lang.String) | |
* [AST] [Call] Call(valueOf) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(valueOf): Type(java.lang.String) | |
* [AST] [ToString] ToString resolved! | |
* [AST] [StringConcat] StringConcat resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Method type for "A" [] on Type(lejos.nxt.Motor meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for lejos.nxt.Motor.A() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for 'A' on class Type(lejos.nxt.Motor meta) | |
* [JVM::Types] Found method lejos.nxt.Motor.A() from lejos.nxt.Motor | |
* [Mirah::Typer] Method type for "A" [] on Type(lejos.nxt.Motor meta) = Type(lejos.nxt.NXTRegulatedMotor) | |
* [AST] [Call] Call(A) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(A): Type(lejos.nxt.NXTRegulatedMotor) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : degrees = Type(float) | |
* [AST] [Local] Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = degrees, scope = StaticMethodDefinition(main), captured = false): Type(float) | |
* [AST] [FunctionalCall] FunctionalCall(int) resolved! | |
* [AST] [FunctionalCall] FunctionalCall(int) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for FunctionalCall(int): Type(int) | |
* [Mirah::Typer] Method type for "rotateTo" [#<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.NXTRegulatedMotor) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.NXTRegulatedMotor.rotateTo(int) from lejos.nxt.NXTRegulatedMotor | |
* [Mirah::Typer] Method type for "rotateTo" [#<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.NXTRegulatedMotor) = Type(void) | |
* [AST] [Call] Call(rotateTo) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(rotateTo): Type(lejos.nxt.NXTRegulatedMotor) | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method java.lang.System.currentTimeMillis() from java.lang.System | |
* [Mirah::Typer] Method type for "currentTimeMillis" [] on Type(java.lang.System meta) = Type(long) | |
* [AST] [Call] Call(currentTimeMillis) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(currentTimeMillis): Type(long) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : time2 = Type(long) | |
* [AST] [LocalAssignment] LocalAssignment(name = time2, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = time2, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : time2 = Type(long) | |
* [AST] [Local] Local(name = time2, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = time2, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : time1 = Type(long) | |
* [AST] [Local] Local(name = time1, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = time1, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [Mirah::Typer] Method type for "-" [#<Mirah::JVM::Types::LongType long>] on Type(long) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method long.-(long) from long | |
* [Mirah::Typer] Method type for "-" [#<Mirah::JVM::Types::LongType long>] on Type(long) = Type(long) | |
* [AST] [Call] Call(-) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(-): Type(long) | |
* [Mirah::Typer] Method type for "valueOf" [#<Mirah::JVM::Types::LongType long>] on Type(java.lang.String meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method java.lang.String.valueOf(long) from java.lang.String | |
* [Mirah::Typer] Method type for "valueOf" [#<Mirah::JVM::Types::LongType long>] on Type(java.lang.String meta) = Type(java.lang.String) | |
* [AST] [Call] Call(valueOf) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(valueOf): Type(java.lang.String) | |
* [AST] [ToString] ToString resolved! | |
* [AST] [StringConcat] StringConcat resolved! | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] Found method lejos.nxt.LCD.drawString(java.lang.String, int, int) from lejos.nxt.LCD | |
* [Mirah::Typer] Method type for "drawString" [#<Mirah::JVM::Types::StringType java.lang.String>, #<Mirah::JVM::Types::IntegerType int>, #<Mirah::JVM::Types::IntegerType int>] on Type(lejos.nxt.LCD meta) = Type(void) | |
* [AST] [Call] Call(drawString) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Call(drawString): Type(lejos.nxt.LCD meta) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : time2 = Type(long) | |
* [AST] [Local] Local(name = time2, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Local(name = time2, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : time1 = Type(long) | |
* [AST] [LocalAssignment] LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false): Type(long) | |
* [AST] [Body] Body resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Body: Type(long) | |
* [AST] [Loop] Loop(check_first = true, negative = false) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Loop(check_first = true, negative = false): Type(null) | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [AST] [Body] Body resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Body: Type(null) | |
* [Mirah::Typer] Learned method main ([#<Mirah::JVM::Types::ArrayType java.lang.String>]) on Type(Test meta) = Type(void) | |
* [AST] [StaticMethodDefinition] StaticMethodDefinition(main) resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for StaticMethodDefinition(main): Type(void) | |
* [AST] [Body] Body resolved! | |
* [Mirah::Typer] [Cycle 0]: Inferred type for Body: Type(void) | |
* [Mirah::Typer] [Cycle 0]: Complete! | |
* [Mirah::Typer] [Cycle 1]: Started... (4 nodes to resolve) | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [Mirah::Typer] Deferring inference for Call(new) | |
* [Mirah::Typer] [Cycle 1]: Inferred type for Call(new): FAILED | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [Mirah::Typer] Deferring inference for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] [Cycle 1]: Inferred type for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false): FAILED | |
* [Mirah::Typer] Deferring inference for Local(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
* [Mirah::Typer] [Cycle 1]: Inferred type for Local(name = listener, scope = StaticMethodDefinition(main), captured = false): FAILED | |
* [Mirah::Typer] Deferring inference for Call(addButtonListener) | |
* [Mirah::Typer] [Cycle 1]: Inferred type for Call(addButtonListener): FAILED | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [JVM::Types] No exact match for MyButtonListener.<init>() | |
* [JVM::Types] Beginning JLS phase 1 search with params ([]) | |
* [JVM::Types] Attempting static field lookup for '<init>' on class Type(MyButtonListener meta) | |
* [JVM::Types] Attempting inner class lookup for '<init>' on Type(MyButtonListener meta) | |
* [JVM::Types] Failed to locate method MyButtonListener.<init>() | |
* [Mirah::Typer] Method type for "new" [] on Type(MyButtonListener meta) = Type(MyButtonListener meta) | |
* [AST] [Call] Call(new) resolved! | |
* [Mirah::Typer] [Cycle 1]: Inferred type for Call(new): Type(MyButtonListener) | |
* [Mirah::Typer] Learned local type under #<Mirah::AST::StaticScope:0x4b5d7792> : listener = Type(MyButtonListener) | |
* [AST] [LocalAssignment] LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 1]: Inferred type for LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false): Type(MyButtonListener) | |
* [Mirah::Typer] Retrieved local type in #<Mirah::AST::StaticScope:0x4b5d7792> : listener = Type(MyButtonListener) | |
* [AST] [Local] Local(name = listener, scope = StaticMethodDefinition(main), captured = false) resolved! | |
* [Mirah::Typer] [Cycle 1]: Inferred type for Local(name = listener, scope = StaticMethodDefinition(main), captured = false): Type(MyButtonListener) | |
* [Mirah::Typer] Method type for "addButtonListener" [#<Mirah::JVM::Types::TypeDefinition MyButtonListener>] on Type(lejos.nxt.Button) not found. | |
* [Mirah::Typer] Invoking plugin: Java | |
* [Mirah::Typer] [Cycle 1]: Complete! | |
[Script | |
body: | |
Body | |
Import(* = lejos.nxt.*) | |
Import(GyroSensor = lejos.nxt.addon.GyroSensor) | |
Import(GyroDirectionFinder = lejos.nxt.addon.GyroDirectionFinder) | |
ClassDefinition(MyButtonListener) | |
body: | |
Body | |
Body | |
Implements | |
Constant(ButtonListener) | |
MethodDefinition(buttonPressed) | |
signature: | |
{:return=>#<Mirah::JVM::Types::VoidType void>, :b=>#<Mirah::JVM::Types::Type lejos.nxt.Button>} | |
arguments: | |
Arguments | |
required: | |
RequiredArgument(b) | |
type_node: | |
(wrong parent) | |
Constant(Button) | |
body: | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
String("ESC pressed") | |
Fixnum(0) | |
Fixnum(6) | |
MethodDefinition(buttonReleased) | |
signature: | |
{:return=>#<Mirah::JVM::Types::VoidType void>, :b=>#<Mirah::JVM::Types::Type lejos.nxt.Button>} | |
arguments: | |
Arguments | |
required: | |
RequiredArgument(b) | |
type_node: | |
(wrong parent) | |
Constant(Button) | |
body: | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
String("ESC released") | |
Fixnum(0) | |
Fixnum(6) | |
ClassDefinition(Test) | |
body: | |
Body | |
StaticMethodDefinition(main) | |
{:return=>#<Mirah::JVM::Types::VoidType void>, :args=>#<Mirah::JVM::Types::ArrayType java.lang.String>} | |
Arguments | |
required: | |
RequiredArgument(args) | |
type_node: | |
(wrong parent) | |
Constant(String) | |
Body | |
LocalAssignment(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(new) | |
target: | |
Constant(MyButtonListener) | |
parameters: | |
Call(addButtonListener) | |
target: | |
Call(ESCAPE) | |
target: | |
Constant(Button) | |
parameters: | |
parameters: | |
Local(name = listener, scope = StaticMethodDefinition(main), captured = false) | |
LocalAssignment(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(new) | |
target: | |
Constant(GyroSensor) | |
parameters: | |
Call(S1) | |
target: | |
Constant(SensorPort) | |
parameters: | |
LocalAssignment(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(new) | |
target: | |
Constant(GyroDirectionFinder) | |
parameters: | |
Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
String("calibrating gryo") | |
Fixnum(0) | |
Fixnum(3) | |
Call(recalibrateOffset) | |
target: | |
Local(name = gyro, scope = StaticMethodDefinition(main), captured = false) | |
parameters: | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
String("done! ") | |
Fixnum(0) | |
Fixnum(3) | |
LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(currentTimeMillis) | |
target: | |
Constant(System) | |
parameters: | |
Loop(check_first = true, negative = false) | |
init: | |
Body | |
condition: | |
Condition | |
predicate: | |
Boolean(true) | |
pre: | |
Body | |
body: | |
Body | |
LocalAssignment(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(getDegrees) | |
target: | |
Local(name = gyroBoss, scope = StaticMethodDefinition(main), captured = false) | |
parameters: | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
StringConcat | |
String("angle: ") | |
ToString | |
body: | |
Call(valueOf) | |
target: | |
Constant(String) | |
parameters: | |
Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
String("° ") | |
Fixnum(0) | |
Fixnum(3) | |
Call(rotateTo) | |
target: | |
Call(A) | |
target: | |
Constant(Motor) | |
parameters: | |
parameters: | |
FunctionalCall(int) | |
parameters: | |
Local(name = degrees, scope = StaticMethodDefinition(main), captured = false) | |
LocalAssignment(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Call(currentTimeMillis) | |
target: | |
Constant(System) | |
parameters: | |
Call(drawString) | |
target: | |
Constant(LCD) | |
parameters: | |
StringConcat | |
String("refresh: ") | |
ToString | |
body: | |
Call(valueOf) | |
target: | |
Constant(String) | |
parameters: | |
Call(-) | |
target: | |
Local(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
parameters: | |
Local(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
String("ms ") | |
Fixnum(0) | |
Fixnum(7) | |
LocalAssignment(name = time1, scope = StaticMethodDefinition(main), captured = false) | |
value: | |
Local(name = time2, scope = StaticMethodDefinition(main), captured = false) | |
post: | |
Body] | |
test.mirah:32: can't convert Mirah::JVM::Types::TypeDefinition into String | |
Button.ESCAPE.addButtonListener(listener) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
TypeError: can't convert Mirah::JVM::Types::TypeDefinition into String | |
join at org/jruby/RubyArray.java:1871 | |
java_method at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/jvm/types/methods.rb:447 | |
find_method at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/jvm/method_lookup.rb:38 | |
get_method at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/jvm/types/methods.rb:394 | |
method_type at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/plugin/java.rb:37 | |
method_type at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:195 | |
plugins at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:215 | |
each at org/jruby/RubyArray.java:1615 | |
plugins at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:212 | |
method_type at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:194 | |
infer at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/ast/call.rb:188 | |
__send__ at org/jruby/RubyBasicObject.java:1710 | |
<Class:0x52ab7af2> at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/util/delegate.rb:23 | |
infer at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:275 | |
resolve at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:324 | |
each at org/jruby/RubyHash.java:1186 | |
resolve at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:322 | |
cycle at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:236 | |
times at org/jruby/RubyFixnum.java:256 | |
cycle at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:233 | |
resolve at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/typer/simple.rb:319 | |
infer_asts at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/generator.rb:49 | |
generate at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/generator.rb:35 | |
execute at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/commands/compile.rb:26 | |
execute_base at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/commands/base.rb:44 | |
catch at org/jruby/RubyKernel.java:1197 | |
execute_base at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/commands/base.rb:42 | |
execute at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah/commands/compile.rb:23 | |
compile at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/lib/mirah.rb:40 | |
(root) at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/bin/mirahc:27 | |
load at org/jruby/RubyKernel.java:1068 | |
at /Users/peter/.rvm/gems/jruby-1.6.7.2/gems/mirah-0.0.12-java/bin/mirahc:19 | |
eval at org/jruby/RubyKernel.java:1088 | |
(root) at /Users/peter/.rvm/gems/jruby-1.6.7.2/bin/ruby_noexec_wrapper:14 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import lejos.nxt.* | |
import lejos.nxt.addon.GyroSensor | |
import lejos.nxt.addon.GyroDirectionFinder | |
#http://lejos.sourceforge.net/nxt/pc/api/lejos/nxt/addon/GyroDirectionFinder.html | |
#class MyButtonListener < ButtonListener | |
class MyButtonListener | |
implements ButtonListener | |
def buttonPressed(b: Button):void | |
LCD.drawString("ESC pressed", 0, 6) | |
end | |
def buttonReleased(b: Button):void | |
LCD.drawString("ESC released", 0, 6) | |
end | |
end | |
class Test | |
def self.main(args:String[]):void | |
#System.out.println "Hello World from Mirah!" | |
# puts 'ok' | |
#Motor.A.forward() | |
#Motor.A.rotateTo(30) | |
# Motor.A.setSpeed(720) | |
#Delay.msDelay(2000); | |
# LCD.drawInt(Motor.A.getTachoCount(),0,3); | |
# this method appears to be crap | |
#gyro.recalibrateOffsetAlt | |
listener = MyButtonListener.new | |
Button.ESCAPE.addButtonListener(listener) | |
gyro = GyroSensor.new(SensorPort.S1) | |
gyroBoss = GyroDirectionFinder.new(gyro) | |
LCD.drawString 'calibrating gryo', 0, 3 | |
gyro.recalibrateOffset | |
LCD.drawString 'done! ', 0, 3 | |
time1 = System.currentTimeMillis() | |
while true | |
#LCD.drawInt gyro.readValue, 0, 3 | |
#LCD.drawString "#{String.valueOf gyro.getAngularVelocity} ", 0, 3 | |
degrees = gyroBoss.getDegrees | |
LCD.drawString "angle: #{String.valueOf degrees}° ", 0, 3 | |
Motor.A.rotateTo int degrees | |
time2 = System.currentTimeMillis() | |
LCD.drawString "refresh: #{String.valueOf (time2 - time1)}ms ", 0, 7 | |
time1 = time2 | |
end | |
#Button.waitForAnyPress() | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment