code: protected void infer()
  	{
  
  		InferContext ctx = new InferContext();
  		ctx.types = types;
  		ctx.gt = this.program.gt;
  		for (Statement st : this.program.metaData.statements)
  		{
  			st.infer(ctx);
  		}
  
  	}
docs: 确定表达式的类型