/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.ir.nodes; import gw.lang.reflect.IType; import gw.lang.reflect.IRelativeTypeInfo; import gw.lang.reflect.IFunctionType; import gw.lang.reflect.gs.IGenericTypeVariable; import gw.lang.ir.IRType; import gw.internal.gosu.ir.transform.util.IRTypeResolver; import java.util.List; public class SyntheticIRMethod implements IRMethod { private IType _owner; private String _name; private IRType _returnType; private List<IRType> _parameterTypes; private IRelativeTypeInfo.Accessibility _accessibility; private boolean _static; public SyntheticIRMethod(IType owner, String name, IRType returnType, List<IRType> parameterTypes, IRelativeTypeInfo.Accessibility accessibility, boolean aStatic) { _owner = owner; _name = name; _returnType = returnType; _parameterTypes = parameterTypes; _accessibility = accessibility; _static = aStatic; } @Override public IRType getReturnType() { return _returnType; } @Override public List<IRType> getExplicitParameterTypes() { return _parameterTypes; } @Override public List<IRType> getAllParameterTypes() { return _parameterTypes; } @Override public String getName() { return _name; } @Override public IRType getOwningIRType() { return IRTypeResolver.getDescriptor( _owner ); } @Override public IType getOwningIType() { return _owner; } @Override public IRelativeTypeInfo.Accessibility getAccessibility() { return _accessibility; } @Override public boolean isStatic() { return _static; } @Override public IRType getTargetRootIRType() { return getOwningIRType(); } @Override public IGenericTypeVariable[] getTypeVariables() { return null; } @Override public IFunctionType getFunctionType() { return null; } @Override public boolean isBytecodeMethod() { return true; } @Override public boolean couldHaveTypeVariables() { return false; } @Override public boolean isGeneratedEnumMethod() { return false; } }