// Generated by Haxe 4.3.1
package haxe.lang;

import haxe.root.*;

@SuppressWarnings(value={"rawtypes", "unchecked"})
public class HxObject implements haxe.lang.IHxObject
{
	public HxObject(haxe.lang.EmptyObject empty)
	{
	}
	
	
	public HxObject()
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		haxe.lang.HxObject.__hx_ctor_haxe_lang_HxObject(this);
	}
	
	
	protected static void __hx_ctor_haxe_lang_HxObject(haxe.lang.HxObject __hx_this)
	{
	}
	
	
	public java.lang.Object __hx_lookupField(java.lang.String field, boolean throwErrors, boolean isCheck)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		if (isCheck) 
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			return haxe.lang.Runtime.undefined;
		}
		else
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			if (throwErrors) 
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				throw new java.lang.RuntimeException(haxe.lang.Runtime.toString("Field not found."));
			}
			else
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return null;
			}
			
		}
		
	}
	
	
	public double __hx_lookupField_f(java.lang.String field, boolean throwErrors)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		if (throwErrors) 
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			throw new java.lang.RuntimeException(haxe.lang.Runtime.toString("Field not found or incompatible field type."));
		}
		else
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			return 0.0;
		}
		
	}
	
	
	public java.lang.Object __hx_lookupSetField(java.lang.String field, java.lang.Object value)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		throw new java.lang.RuntimeException(haxe.lang.Runtime.toString("Cannot access field for writing."));
	}
	
	
	public double __hx_lookupSetField_f(java.lang.String field, double value)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		throw new java.lang.RuntimeException(haxe.lang.Runtime.toString("Cannot access field for writing or incompatible type."));
	}
	
	
	public double __hx_setField_f(java.lang.String field, double value, boolean handleProperties)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return this.__hx_lookupSetField_f(field, value);
			}
			
		}
		
	}
	
	
	public java.lang.Object __hx_setField(java.lang.String field, java.lang.Object value, boolean handleProperties)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return this.__hx_lookupSetField(field, value);
			}
			
		}
		
	}
	
	
	public java.lang.Object __hx_getField(java.lang.String field, boolean throwErrors, boolean isCheck, boolean handleProperties)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return this.__hx_lookupField(field, throwErrors, isCheck);
			}
			
		}
		
	}
	
	
	public double __hx_getField_f(java.lang.String field, boolean throwErrors, boolean handleProperties)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return this.__hx_lookupField_f(field, throwErrors);
			}
			
		}
		
	}
	
	
	public java.lang.Object __hx_invokeField(java.lang.String field, java.lang.Object[] dynargs)
	{
		//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
		{
			//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
			{
				//line 32 "/usr/share/haxe/std/java/internal/HxObject.hx"
				return ((haxe.lang.Function) (this.__hx_getField(field, true, false, false)) ).__hx_invokeDynamic(dynargs);
			}
			
		}
		
	}
	
	
	public void __hx_getFields(haxe.root.Array<java.lang.String> baseArr)
	{
	}
	
	
}


