package st.gravel.support.compiler.ast;
/*
This file is automatically generated from typed smalltalk source. Do not edit by hand.
(C) AG5.com
*/
import java.math.BigInteger;
import st.gravel.support.jvm.NonLocalReturn;
import st.gravel.support.compiler.ast.ClassPartMapping;
import st.gravel.support.compiler.ast.ClassPartMapping.ClassPartMapping_Factory;
import java.util.HashMap;
import st.gravel.support.compiler.ast.AbstractMethodMapping;
import java.util.Map;
import st.gravel.support.compiler.ast.MethodMapping;
public class IdentityClassPartMapping extends ClassPartMapping implements Cloneable {
public static IdentityClassPartMapping_Factory factory = new IdentityClassPartMapping_Factory();
public static class IdentityClassPartMapping_Factory extends ClassPartMapping_Factory {
public IdentityClassPartMapping basicNew() {
IdentityClassPartMapping newInstance = new IdentityClassPartMapping();
newInstance.initialize();
return newInstance;
}
@Override
public IdentityClassPartMapping javaClass_isGenerated_(final Class _aJavaClass, final boolean _isGenerated) {
return ((IdentityClassPartMapping) this.javaClass_methodMappings_isGenerated_(_aJavaClass, new java.util.HashMap<st.gravel.core.Symbol, AbstractMethodMapping>(), _isGenerated));
}
@Override
public IdentityClassPartMapping javaClass_methodMappings_isGenerated_(final Class _aJavaClass, final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary, final boolean _aBoolean) {
return ((IdentityClassPartMapping) this.basicNew().initializeJavaClass_methodMappings_isGenerated_(_aJavaClass, _aDictionary, _aBoolean));
}
}
static public IdentityClassPartMapping _javaClass_isGenerated_(Object receiver, final Class _aJavaClass, final boolean _isGenerated) {
return factory.javaClass_isGenerated_(_aJavaClass, _isGenerated);
}
static public IdentityClassPartMapping _javaClass_methodMappings_isGenerated_(Object receiver, final Class _aJavaClass, final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary, final boolean _aBoolean) {
return factory.javaClass_methodMappings_isGenerated_(_aJavaClass, _aDictionary, _aBoolean);
}
public IdentityClassPartMapping copy() {
try {
IdentityClassPartMapping _temp1 = (IdentityClassPartMapping) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public IdentityClassPartMapping_Factory factory() {
return factory;
}
@Override
public IdentityClassPartMapping initializeJavaClass_methodMappings_isGenerated_(final Class _aJavaClass, final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary, final boolean _aBoolean) {
_javaClass = _aJavaClass;
_methodMappings = _aDictionary;
_isGenerated = _aBoolean;
this.initialize();
return this;
}
@Override
public IdentityClassPartMapping pvtSetMethodMappings_(final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary) {
_methodMappings = _aDictionary;
return this;
}
@Override
public IdentityClassPartMapping withMethodMappings_(final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary) {
return this.copy().pvtSetMethodMappings_(_aDictionary);
}
@Override
public IdentityClassPartMapping withMethodMapping_(final MethodMapping _aMethodMapping) {
return this.withMethodMappings_(st.gravel.support.jvm.DictionaryExtensions.copyAt_put_(_methodMappings, st.gravel.core.Symbol.value(_aMethodMapping.selector()), _aMethodMapping));
}
@Override
public IdentityClassPartMapping withoutMethodMapping_(final String _aSelector) {
return this.withMethodMappings_(st.gravel.support.jvm.DictionaryExtensions.copyRemoveKey_ifAbsent_(_methodMappings, st.gravel.core.Symbol.value(_aSelector), new st.gravel.support.jvm.Block0<Object>() {
@Override
public Object value() {
return IdentityClassPartMapping.this;
}
}));
}
}