base_simple3#Int#output

	fun output is intern

base_simple3#A#Object::init

	init do 5.output

base_simple3#A#run

	fun run do 6.output

base_simple3#B#_val

	var val: Int

base_simple3#B#val

	var val: Int

base_simple3#B#val=

	var val: Int

base_simple3#B#init

	init(v: Int)
	do
		7.output
		self.val = v
	end

base_simple3#B#run

	fun run do val.output

base_simple3#C#_val1

	var val1: Int

base_simple3#C#val1

	var val1: Int

base_simple3#C#val1=

	var val1: Int

base_simple3#C#_val2

	var val2: Int = 10

base_simple3#C#val2

	var val2: Int = 10

base_simple3#C#val2=

	var val2: Int = 10

base_simple3#Sys#foo

fun foo do 2.output

base_simple3#Sys#bar

fun bar(i: Int) do i.output

base_simple3#Sys#baz

fun baz: Int do return 4

base_simple3#Sys#main

1.output
foo
bar(3)
baz.output

var a = new A
a.run

var b = new B(8)
b.run

var c = new C(9)
c.val1.output
c.val2.output

AST node: AModule at base_simple3.nit:17,1--66,13

import end

interface Object
end

enum Bool
end

enum Int
	fun output is intern
end

class A
	init do 5.output
	fun run do 6.output
end

class B
	var val: Int
	init(v: Int)
	do
		7.output
		self.val = v
	end
	fun run do val.output
end

class C
	var val1: Int
	var val2: Int = 10
end

fun foo do 2.output
fun bar(i: Int) do i.output
fun baz: Int do return 4

1.output
foo
bar(3)
baz.output

var a = new A
a.run

var b = new B(8)
b.run

var c = new C(9)
c.val1.output
c.val2.output

AST node: ANoImport at base_simple3.nit:17,1--10

import end

AST node: APublicVisibility at base_simple3.nit:17,1

AST node: TKwimport at base_simple3.nit:17,1--6

import

AST node: TKwend at base_simple3.nit:17,8--10

 end

AST node: AStdClassdef at base_simple3.nit:19,1--20,3

interface Object
end

AST node: AInterfaceClasskind at base_simple3.nit:19,1--9

interface

AST node: TKwinterface at base_simple3.nit:19,1--9

interface

AST node: TClassid at base_simple3.nit:19,11--16

 Object

AST node: AEnumClasskind at base_simple3.nit:22,1--4

enum

AST node: TKwenum at base_simple3.nit:22,1--4

enum

AST node: AMethPropdef at base_simple3.nit:26,2--21

	fun output is intern

AST node: TKwmeth at base_simple3.nit:26,2--4

	fun

AST node: AIdMethid at base_simple3.nit:26,6--11

 output

AST node: TId at base_simple3.nit:26,6--11

 output

AST node: ASignature at base_simple3.nit:26,13

AST node: AAnnotations at base_simple3.nit:26,13--21

 is intern

AST node: TKwis at base_simple3.nit:26,13--14

 is

AST node: AAnnotation at base_simple3.nit:26,16--21

 intern

AST node: AIdAtid at base_simple3.nit:26,16--21

 intern

AST node: AConcreteClasskind at base_simple3.nit:29,1--5

class

AST node: TKwclass at base_simple3.nit:29,1--5

class

AST node: TKwinit at base_simple3.nit:30,2--5

	init

AST node: TKwdo at base_simple3.nit:30,7--8

 do

AST node: ACallExpr at base_simple3.nit:30,10--17

 5.output

AST node: AIntegerExpr at base_simple3.nit:30,10

 5

AST node: TInteger at base_simple3.nit:30,10

 5

AST node: AQid at base_simple3.nit:30,12--17

output

AST node: AListExprs at base_simple3.nit:30,17

AST node: AAttrPropdef at base_simple3.nit:35,2--13

	var val: Int

AST node: TKwvar at base_simple3.nit:35,2--4

	var

AST node: AType at base_simple3.nit:35,11--13

 Int

AST node: TOpar at base_simple3.nit:36,6

(

AST node: AParam at base_simple3.nit:36,7--12

v: Int

AST node: TCpar at base_simple3.nit:36,13

)

AST node: ABlockExpr at base_simple3.nit:38,3--40,4

		7.output
		self.val = v
	end

AST node: ACallAssignExpr at base_simple3.nit:39,3--14

		self.val = v

AST node: ASelfExpr at base_simple3.nit:39,3--6

		self

AST node: TKwself at base_simple3.nit:39,3--6

		self

AST node: TAssign at base_simple3.nit:39,12

 =

AST node: AVarExpr at base_simple3.nit:39,14

 v

AST node: AImplicitSelfExpr at base_simple3.nit:41,13

AST node: ATopClassdef at base_simple3.nit:49,1--19

fun foo do 2.output

AST node: AReturnExpr at base_simple3.nit:51,17--24

 return 4

AST node: TKwreturn at base_simple3.nit:51,17--22

 return

AST node: AMainClassdef at base_simple3.nit:53,1--66,13

1.output
foo
bar(3)
baz.output

var a = new A
a.run

var b = new B(8)
b.run

var c = new C(9)
c.val1.output
c.val2.output

AST node: AMainMethPropdef at base_simple3.nit:53,1--66,13

1.output
foo
bar(3)
baz.output

var a = new A
a.run

var b = new B(8)
b.run

var c = new C(9)
c.val1.output
c.val2.output

AST node: AParExprs at base_simple3.nit:55,4--6

(3)

AST node: AVardeclExpr at base_simple3.nit:58,1--13

var a = new A

AST node: ANewExpr at base_simple3.nit:58,9--13

 new A

AST node: TKwnew at base_simple3.nit:58,9--11

 new