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.AbstractMapping;
import st.gravel.support.compiler.ast.AbstractMapping.AbstractMapping_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 ClassPartMapping extends AbstractMapping implements Cloneable {
public static ClassPartMapping_Factory factory = new ClassPartMapping_Factory();
boolean _isGenerated;
Class _javaClass;
Map<st.gravel.core.Symbol, AbstractMethodMapping> _methodMappings;
public static class ClassPartMapping_Factory extends AbstractMapping_Factory {
public ClassPartMapping basicNew() {
ClassPartMapping newInstance = new ClassPartMapping();
newInstance.initialize();
return newInstance;
}
public ClassPartMapping javaClass_isGenerated_(final Class _aJavaClass, final boolean _isGenerated) {
return ((ClassPartMapping) this.javaClass_methodMappings_isGenerated_(_aJavaClass, new java.util.HashMap<st.gravel.core.Symbol, AbstractMethodMapping>(), _isGenerated));
}
public ClassPartMapping javaClass_methodMappings_isGenerated_(final Class _aJavaClass, final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary, final boolean _aBoolean) {
return ((ClassPartMapping) this.basicNew().initializeJavaClass_methodMappings_isGenerated_(_aJavaClass, _aDictionary, _aBoolean));
}
}
static public ClassPartMapping _javaClass_isGenerated_(Object receiver, final Class _aJavaClass, final boolean _isGenerated) {
return factory.javaClass_isGenerated_(_aJavaClass, _isGenerated);
}
static public ClassPartMapping _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 ClassPartMapping copy() {
try {
ClassPartMapping _temp1 = (ClassPartMapping) this.clone();
_temp1.postCopy();
return _temp1;
} catch (CloneNotSupportedException e) {
throw new RuntimeException(e);
}
}
public ClassPartMapping_Factory factory() {
return factory;
}
public ClassPartMapping 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;
}
public boolean isGenerated() {
return _isGenerated;
}
public Class javaClass() {
return _javaClass;
}
public AbstractMethodMapping methodMappingAt_ifAbsent_(final st.gravel.core.Symbol _aSymbol, final st.gravel.support.jvm.Block0<AbstractMethodMapping> _aBlock) {
return st.gravel.support.jvm.DictionaryExtensions.at_ifAbsent_(_methodMappings, _aSymbol, _aBlock);
}
public Map<st.gravel.core.Symbol, AbstractMethodMapping> methodMappings() {
return _methodMappings;
}
public ClassPartMapping pvtSetMethodMappings_(final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary) {
_methodMappings = _aDictionary;
return this;
}
public ClassPartMapping withMethodMappings_(final Map<st.gravel.core.Symbol, AbstractMethodMapping> _aDictionary) {
return this.copy().pvtSetMethodMappings_(_aDictionary);
}
public ClassPartMapping withMethodMapping_(final MethodMapping _aMethodMapping) {
return this.withMethodMappings_(st.gravel.support.jvm.DictionaryExtensions.copyAt_put_(_methodMappings, st.gravel.core.Symbol.value(_aMethodMapping.selector()), _aMethodMapping));
}
public ClassPartMapping 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 ClassPartMapping.this;
}
}));
}
}