public String get_main_class_name() { if (_is_container) return _container_class == null ? "" : _container_class.getName(); if (_is_void) return ".internal.void"; if (_is_int) return ".internal.int"; if (_is_string) return ".internal.string"; return _class == null ? "" : _class.getName(); }
public void emit_get_class_object(Codegen c, CodeGeneratorState s) throws PlcException, IOException { if (is_void() && !is_container()) // c.emit_summon_null(); throw new PlcException("PhantomType", "asked to emit void class object"); // Why not, btw? else if (is_int()) c.emitSummonByName(".internal.int"); else if (is_long()) c.emitSummonByName(".internal.long"); else if (is_float()) c.emitSummonByName(".internal.float"); else if (is_double()) c.emitSummonByName(".internal.double"); else if (is_string()) c.emitSummonByName(".internal.string"); else if (is_container()) { if (_container_class != null) c.emitSummonByName(_container_class.getName()); else if (_container_class_expression != null) _container_class_expression.generate_code(c, s); else c.emitSummonByName(".internal.container.array"); } else if (_class != null) c.emitSummonByName(_class.getName()); else if (_class_expression != null) _class_expression.generate_code(c, s); else throw new PlcException("emit_get_class_object", "can't get class object"); }
public PhantomType(PhantomClass _c) throws PlcException { // if( _c == null ) throw new PlcException("PhantomType(PhantomClass)","Class is null"); _is_void = false; _is_string = false; _is_int = false; _is_long = false; _is_float = false; _is_double = false; _is_container = false; _is_known = (_c != null); _class = _c; _container_class = null; if (_c != null && _c.getName().equals(".internal.int")) _is_int = true; if (_c != null && _c.getName().equals(".internal.string")) _is_string = true; if (_c != null && _c.getName().equals(".internal.void")) _is_void = true; // if( _c != null && _c.get_name().equals(".internal.object") ) _is_void = true; }
public String get_contained_class_name() { if (_is_container) return _class == null ? "" : _class.getName(); return ""; }