/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.ir.transform.expression; import gw.internal.gosu.parser.expressions.StaticTypeOfExpression; import gw.lang.ir.IRExpression; import gw.internal.gosu.ir.transform.TopLevelTransformationContext; import gw.lang.parser.IExpression; /** */ public class StaticTypeOfTransformer extends AbstractExpressionTransformer<StaticTypeOfExpression> { public static IRExpression compile( TopLevelTransformationContext cc, StaticTypeOfExpression expr ) { StaticTypeOfTransformer gen = new StaticTypeOfTransformer( cc, expr ); return gen.compile(); } private StaticTypeOfTransformer( TopLevelTransformationContext cc, StaticTypeOfExpression expr ) { super( cc, expr ); } protected IRExpression compile_impl() { IExpression rhs = _expr().getExpression(); return pushType( rhs.getType() ); } }