亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? class.c

?? kaffe Java 解釋器語言,源碼,Java的子集系統(tǒng),開放源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	Method* mth = CLASS_METHODS(clas);	int i;	for (i = CLASS_NMETHODS(clas)-1; i >= 0; i--) {		if (((mth[i].accflags & ACC_PUBLIC) || declared)		    && !(mth[i].accflags & ACC_CONSTRUCTOR)		    && !isOverridden(base, clas, mth + i)		    && !utf8ConstEqual(init_name, mth[i].name)) {			**ptr = makeMethod(clas, i);			(*ptr)++;		}	}}/* * Reflect all methods implemented by an interface or one of its * superinterfaces. * * Note that we do not reach the "superinterface" via the superclass pointer. * See the VM Spec, which says: * *   "The implements clause in a [interface] class declaration lists the *    names of interfaces that are direct superinterfaces of the [interface] *    class being declared." * * Hence we must look at the interfaces list for superinterfaces. */staticHArrayOfObject*getInterfaceMethods0(struct Hjava_lang_Class* this, jint declared){	int count;	Hjava_lang_reflect_Method** ptr;	HArrayOfObject* array;	int i;	count = 0;	count += countMethods(0, this, declared);	if (!declared) {		for (i = 0; i < this->total_interface_len; i++) {			count += countMethods(0, this->interfaces[i], declared);		}	}	array = (HArrayOfObject*)	    AllocObjectArray(count, "Ljava/lang/reflect/Method;", 0);	ptr = (Hjava_lang_reflect_Method**)&unhand_array(array)->body[0];	addMethods(0, this, declared, &ptr);	if (!declared) {		for (i = 0; i < this->total_interface_len; i++) {			addMethods(0, this->interfaces[i], declared, &ptr);		}	}	return (array);}HArrayOfObject*java_lang_Class_getMethods0(struct Hjava_lang_Class* this, jboolean declared){	int count;	Hjava_lang_Class* clas;	Hjava_lang_reflect_Method** ptr;	HArrayOfObject* array;	/*	 * Note: the spec wants us to include the methods of all superclasses	 * and all superinterfaces.	 *	 * Superinterfaces cannot be reached through the superclass	 * pointer.  We handle them in a separate function.	 */	if (CLASS_IS_INTERFACE(this))		return (getInterfaceMethods0(this, declared));	count = 0;	for (clas = this; clas != NULL; clas = clas->superclass) {		count += countMethods(this, clas, declared);		if (declared) {			break;		}	}	array = (HArrayOfObject*)	    AllocObjectArray(count, "Ljava/lang/reflect/Method;", 0);	ptr = (Hjava_lang_reflect_Method**)&unhand_array(array)->body[0];	for (clas = this; clas != NULL; clas = clas->superclass) {		addMethods(this, clas, declared, &ptr);		if (declared) {			break;		}	}	return (array);}HArrayOfObject*java_lang_Class_getConstructors0(struct Hjava_lang_Class* this, jboolean declared){	int count;	Hjava_lang_Class* clas;	Method* mth;	Hjava_lang_reflect_Constructor** ptr;	HArrayOfObject* array;	int i;	count = 0;	clas = this;	mth = CLASS_METHODS(clas);	for (i = CLASS_NMETHODS(clas)-1; i >= 0;  i--) {		if (((mth[i].accflags & ACC_PUBLIC) || declared) && (mth[i].accflags & ACC_CONSTRUCTOR)) {			count++;		}	}	array = (HArrayOfObject*)	   AllocObjectArray(count, "Ljava/lang/reflect/Constructor;", 0);	ptr = (Hjava_lang_reflect_Constructor**)&unhand_array(array)->body[0];	clas = this;	mth = CLASS_METHODS(clas);	for (i = CLASS_NMETHODS(clas)-1; i >= 0;  i--) {		if (((mth[i].accflags & ACC_PUBLIC) || declared) && (mth[i].accflags & ACC_CONSTRUCTOR)) {			*ptr = makeConstructor(clas, i);			ptr++;		}	}	return (array);}/* * Count all public fields of a class, including inherited fields and * fields from implemented interfaces */static intcountPublicFields(Hjava_lang_Class* clazz){	Hjava_lang_Class* clas;	int i, count;	count = 0;	for (clas = clazz; clas != NULL; clas = clas->superclass) {		Field *fld = CLASS_FIELDS(clas);		for (i = CLASS_NFIELDS(clas)-1; i >= 0; i--) {			if (fld[i].accflags & ACC_PUBLIC) {				count++;			}		}	}	for (i = 0; i < clazz->total_interface_len; i++) {		count += countPublicFields(clazz->interfaces[i]);	}	return (count);}static voidmakePublicFields(Hjava_lang_Class* clazz, jboolean declared, Hjava_lang_reflect_Field*** pptr){	Hjava_lang_Class* clas;	Hjava_lang_reflect_Field** ptr = *pptr;	int i;	for (clas = clazz; clas != NULL; clas = clas->superclass) {		Field *fld = CLASS_FIELDS(clas);		for (i = CLASS_NFIELDS(clas)-1; i >= 0;  i--) {			if ((fld[i].accflags & ACC_PUBLIC) || declared) {				*ptr = makeField(clas, i);				ptr++;			}		}		if (declared) {			break;		}	}	if (!declared) {		for (i = 0; i < clazz->total_interface_len; i++) {			makePublicFields(clazz->interfaces[i], declared, &ptr);		}	}	*pptr = ptr;}/* * Below, "declared" means to include a field only if it is directly * declared by that class (and not inherited from a superclass or defined * by an interface the class implements.)  This applies to both private, * protected, and public fields. * * On the other hand, if "declared" is false, we only include public * fields.  Weird semantics. */HArrayOfObject*java_lang_Class_getFields0(struct Hjava_lang_Class* clazz, jboolean declared){	int count;	Hjava_lang_reflect_Field** ptr;	HArrayOfObject* array;	if (declared) {		count = CLASS_NFIELDS((Hjava_lang_Class*)clazz);	}	else {		count = countPublicFields(clazz);	}	array = (HArrayOfObject*)	    AllocObjectArray(count, "Ljava/lang/reflect/Field;", 0);	ptr = (Hjava_lang_reflect_Field**)&unhand_array(array)->body[0];	makePublicFields(clazz, declared, &ptr);	return (array);}/* * Check whether the parameters of Method `mth' have exactly the same * types as `argtypes', where argtypes is an array of Hjava_lang_Class * * * Note that checking the arguments might cause the resolution of names * that are part of the signature.  These must be resolved by the same * classloader that loaded the class to which the method belongs. * * This function is used by getMethod0 and getConstructor0. * * Returns 1 if they are exactly the same, 0 if not. */staticintcheckParameters(Method* mth, HArrayOfObject* argtypes){	int i;	errorInfo info;	/* The JDK doc says and experimentation shows that a null second	 * parameter to all get(Declared){Method|Constructor} functions	 * is treated like passing an empty array "new Class [] {}"	 */	if (argtypes == NULL) {		if (METHOD_NARGS(mth) == 0) {			return (1);		}		else {			return (0);		}	}	if (ARRAY_SIZE(argtypes) != METHOD_NARGS(mth)) {		return (0);	}	for (i = 0; i < ARRAY_SIZE(argtypes); i++) {		Hjava_lang_Class* sigclass;		sigclass = getClassFromSignaturePart(METHOD_ARG_TYPE(mth, i), mth->class->loader, &info);		if (sigclass == 0) {			discardErrorInfo(&info);			return 0;		}		if (sigclass !=			(struct Hjava_lang_Class *)OBJARRAY_DATA(argtypes)[i]) {			return (0);		}	}	return (1);}/* Check whether the loading of the class has failed. Throw an NoClassDefFoundError   in that the case.*/staticvoidcheckIfClassHasFailed(struct Hjava_lang_Class* clas){	if (clas != NULL && clas->state == CSTATE_FAILED) {		SignalError("java.lang.NoClassDefFoundError", CLASS_CNAME(clas));	}}staticHjava_lang_reflect_Method*findMatchingMethod(struct Hjava_lang_Class* clas,		   struct Hjava_lang_String* name,		   HArrayOfObject* arr, jboolean declared){	Method* mth = CLASS_METHODS(clas);	int n = CLASS_NMETHODS(clas);	int i;	for (i = 0;  i < n;  ++mth, ++i) {		if (((mth->accflags & ACC_PUBLIC) || declared)		    && utf8ConstEqualJavaString(mth->name, name)) {			if (checkParameters(mth, arr))				return (makeMethod(clas, i));		}	}	return (0);}/**  * looks up a declared method. *  * @param this class where to start looking * @param name name of method we're looking for * @param arr parameter types of the method * @param declared true if the method is supposed to be declared in this class *  * @return a method, if it can be found. NULL otherwise. */Hjava_lang_reflect_Method*java_lang_Class_getMethod0(struct Hjava_lang_Class* this, struct Hjava_lang_String* name, HArrayOfObject* arr, jboolean declared){	Hjava_lang_Class* clas;	Hjava_lang_reflect_Method *rmeth;	clas = this;	checkIfClassHasFailed(clas);	do {		rmeth = findMatchingMethod(clas, name, arr, declared);		if (rmeth != 0) {			return (rmeth);		}		clas = clas->superclass;	} while (!declared && clas != NULL);	/* If the class is an interface, check implemented interfaces as well.	 * Those are the interfaces this interface inherited	 */	if (CLASS_IS_INTERFACE(this)) {		int i;		for (i = 0; i < this->total_interface_len; i++) {			rmeth = findMatchingMethod(this->interfaces[i],						   name, arr, declared);			if (rmeth != 0) {				return (rmeth);			}		}	}	return NULL;}struct Hjava_lang_reflect_Constructor*java_lang_Class_getConstructor0(struct Hjava_lang_Class* this, HArrayOfObject* arr, jboolean declared){	Hjava_lang_Class* clas = this;	Method* mth;	int n;	int i;	checkIfClassHasFailed(clas);	mth = CLASS_METHODS(clas);	n = CLASS_NMETHODS(clas);	for (i = 0;  i < n;  ++mth, ++i) {		if (((mth->accflags & ACC_PUBLIC) || declared) && (METHOD_IS_CONSTRUCTOR(mth))) {			if (checkParameters(mth, arr))				return (makeConstructor(clas, i));		}	}	SignalError("java.lang.NoSuchMethodException", ""); /* FIXME */}staticHjava_lang_reflect_Field*checkForField(struct Hjava_lang_Class* clazz, struct Hjava_lang_String* name, jboolean declared){	int i;	Hjava_lang_Class* clas;	/* first try this class's own or inherited fields */	clas = (Hjava_lang_Class*) clazz;	do {		Field* fld = CLASS_FIELDS(clas);		int n = CLASS_NFIELDS(clas);		int i;		for (i = 0;  i < n;  ++fld, ++i) {			if (((fld->accflags & ACC_PUBLIC) || declared)			    && utf8ConstEqualJavaString(fld->name, name)) {				return makeField(clas, i);			}		}		clas = clas->superclass;	} while (!declared && clas != NULL);	if (!declared) {		/* then try this class's interfaces fields using the wonders of		 * recursion.  */		for (i = 0; i < clazz->total_interface_len; i++) {			Hjava_lang_reflect_Field *f;			f = checkForField(clazz->interfaces[i], name, declared);			if (f != 0) {				return (f);			}		}	}	return (0);}/* Lookup a field in a class.   @param clazz class to look in   @param name a field name   @param declared true if the field is supposed to be declared in clazz   @return a pointer to the field, if it can be found. NULL otherwise.*/Hjava_lang_reflect_Field*java_lang_Class_getField0(struct Hjava_lang_Class* clazz, struct Hjava_lang_String* name, jboolean declared){        Hjava_lang_reflect_Field* f = checkForField(clazz, name, declared);        return (f);}HArrayOfObject*java_lang_Class_getClasses0(struct Hjava_lang_Class* clazz, jboolean inner){	errorInfo einfo;	int count;	int i;	innerClass *ic;	Hjava_lang_Class* c;	HArrayOfObject* array;	Hjava_lang_Class** ptr;	/* Lookup inner classes or outer class.	   An inner class have outer == clazz.	   An outer class have inner == clazz.  */	count = 0;	for (i = clazz->nr_inner_classes, ic = clazz->inner_classes; i-- > 0; ic++) {		if (ic->inner_class == 0 || ic->outer_class == 0) {			continue;		}#if 0		c = getClass (inner ? ic->outer_class : ic->inner_class, clazz, &einfo);		if (c == NULL) {			throwError(&einfo);		}		if (c == clazz) {			count++;		}#else		/* assume one unique constant pool entry per class */		if (clazz->this_index == (inner ? ic->outer_class : ic->inner_class)) {			count++;		}#endif	}	array = (HArrayOfObject*)		AllocObjectArray(count, "Ljava/lang/Class;", 0);	if (count == 0) {		return array;	}	ptr = (Hjava_lang_Class**)&unhand_array(array)->body[0];	for (i = clazz->nr_inner_classes, ic = clazz->inner_classes; i-- > 0; ic++) {		if (ic->inner_class == 0 || ic->outer_class == 0) {			continue;		}#if 0		c = getClass (inner ? ic->outer_class : ic->inner_class, clazz, &einfo);		if (c == NULL) {			throwError(&einfo);		}		if (c != clazz) {			continue;		}#else		/* assume one unique constant pool entry per class */		if (clazz->this_index != (inner ? ic->outer_class : ic->inner_class)) {			continue;		}#endif		c = getClass (inner ? ic->inner_class : ic->outer_class, clazz, &einfo);		if (c == NULL) {			throwError(&einfo);		}		*ptr++ = c;	}	return array;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久久 | 亚洲国产日韩精品| 白白色 亚洲乱淫| 中文字幕av在线一区二区三区| 国产99精品国产| 亚洲激情成人在线| 欧美日韩在线一区二区| 日本美女视频一区二区| 久久久www免费人成精品| 成人午夜av在线| 一区二区三区在线观看动漫| 欧美麻豆精品久久久久久| 久久国内精品视频| 中文字幕国产精品一区二区| 色8久久精品久久久久久蜜| 日韩在线卡一卡二| 国产人久久人人人人爽| 日本电影欧美片| 美女视频黄免费的久久| 国产精品久久久久久久久免费丝袜 | 成人av免费在线播放| 依依成人综合视频| 日韩免费福利电影在线观看| 国产91精品久久久久久久网曝门| 亚洲区小说区图片区qvod| 欧美一区二区视频在线观看2020| 国产精品一线二线三线| 一区二区三区精品在线观看| 日韩免费视频线观看| av网站一区二区三区| 日本vs亚洲vs韩国一区三区二区| 国产精品免费丝袜| 欧美国产成人精品| 欧美少妇bbb| 国产精品资源网| 亚洲国产精品久久艾草纯爱 | 激情综合色综合久久综合| 亚洲日本电影在线| 精品福利在线导航| 欧美视频一区二区| 国产999精品久久久久久绿帽| 亚洲福利视频三区| 中文字幕一区二区三区在线不卡| 日韩欧美高清一区| 在线一区二区三区做爰视频网站| 韩日av一区二区| 午夜婷婷国产麻豆精品| 国产精品电影一区二区| 精品人在线二区三区| 欧美日韩精品一区二区在线播放| 国产白丝网站精品污在线入口| 日本午夜一区二区| 亚洲不卡在线观看| 亚洲精品视频观看| 日韩毛片一二三区| 国产日本欧洲亚洲| 久久久久久一级片| 日韩精品一区二区三区在线播放| 欧美日韩在线免费视频| 色伊人久久综合中文字幕| 高清视频一区二区| 国产91在线看| 国产成a人无v码亚洲福利| 国产在线视频精品一区| 美腿丝袜亚洲综合| 美女一区二区在线观看| 日韩成人免费电影| 日本欧美韩国一区三区| 午夜欧美2019年伦理| 亚洲国产一区二区a毛片| 一区二区三区精品视频在线| 日韩毛片一二三区| 亚洲精品v日韩精品| 亚洲精品视频一区| 一级日本不卡的影视| 亚洲理论在线观看| 亚洲一区二区精品3399| 亚洲一区二区三区影院| 亚洲福利一区二区| 男女男精品视频网| 免费在线观看视频一区| 美女免费视频一区| 狠狠狠色丁香婷婷综合久久五月| 国产最新精品精品你懂的| 国产精品自拍av| 成人在线视频一区| 色综合中文综合网| 国产在线一区二区综合免费视频| 免费在线观看精品| 久久69国产一区二区蜜臀| 麻豆视频观看网址久久| 国产一区二区中文字幕| 国产九色精品成人porny| 成人免费av在线| 色欧美日韩亚洲| 91麻豆精品国产91久久久久久 | 蜜臀va亚洲va欧美va天堂| 老司机免费视频一区二区| 国产精品一区在线观看你懂的| 国产精品白丝jk白祙喷水网站| 高清不卡一区二区在线| 日本高清视频一区二区| 884aa四虎影成人精品一区| 亚洲精品在线电影| 国产精品电影一区二区| 日韩中文字幕亚洲一区二区va在线| 狂野欧美性猛交blacked| 成人a区在线观看| 欧美视频精品在线观看| 2014亚洲片线观看视频免费| 国产精品久久久久永久免费观看 | 丁香另类激情小说| 一本大道久久a久久综合| 欧美一区二区三区免费| 国产日韩视频一区二区三区| 一区二区三区日本| 久久成人羞羞网站| 99视频一区二区| 欧美电影影音先锋| 国产精品无遮挡| 爽爽淫人综合网网站| 国产剧情在线观看一区二区| 欧美影视一区在线| 久久久亚洲午夜电影| 亚洲精品免费电影| 狠狠色狠狠色合久久伊人| 日本精品视频一区二区| 26uuu亚洲综合色欧美| 亚洲精品欧美综合四区| 国产精品一区在线观看你懂的| 欧美日韩国产三级| 国产精品夫妻自拍| 国产麻豆精品久久一二三| 欧美日韩一区中文字幕| 国产精品久久久久久久浪潮网站| 看片网站欧美日韩| 欧美日韩中文字幕精品| 国产精品乱子久久久久| 久久se这里有精品| 欧美三区在线视频| 日韩伦理免费电影| 国产精品夜夜嗨| 日韩欧美国产精品一区| 亚洲国产成人高清精品| 日本丶国产丶欧美色综合| 国产精品素人视频| 国产精品一区二区久激情瑜伽| 8v天堂国产在线一区二区| 一区二区不卡在线播放| 91亚洲国产成人精品一区二三| 日本一区二区三区在线不卡| 久久成人久久鬼色| 日韩一二三区视频| 婷婷成人综合网| 欧美日韩精品一区二区三区| 一区二区在线电影| 91美女蜜桃在线| 综合分类小说区另类春色亚洲小说欧美| 国产一区二区三区观看| 精品sm在线观看| 黑人巨大精品欧美一区| 欧美成人女星排行榜| 麻豆精品一区二区av白丝在线| 欧美浪妇xxxx高跟鞋交| 亚洲第一久久影院| 欧美高清你懂得| 五月综合激情网| 7777精品伊人久久久大香线蕉经典版下载 | 色婷婷亚洲一区二区三区| 国产精品美女久久久久aⅴ| 粉嫩高潮美女一区二区三区| 国产欧美一区二区精品仙草咪| 国产精品一二三| 国产精品区一区二区三区| 99久久精品费精品国产一区二区| 国产精品国产精品国产专区不蜜| 97久久精品人人做人人爽50路| 亚洲美女在线国产| 欧美日韩一区二区三区四区| 午夜久久久久久久久久一区二区| 欧美三级电影网站| 日韩成人免费电影| 久久久亚洲精品石原莉奈| 国产精品18久久久| 中文字幕在线一区二区三区| 色伊人久久综合中文字幕| 亚洲国产成人91porn| 欧美精品久久天天躁| 精品一区免费av| 国产精品免费网站在线观看| 色88888久久久久久影院按摩 | 亚洲精品国产无套在线观| 欧美中文字幕不卡| 奇米色一区二区| 国产女人水真多18毛片18精品视频 | 91香蕉视频污| 图片区日韩欧美亚洲| 亚洲精品一区二区三区福利| 成人午夜免费视频| 亚洲成人动漫精品|