jac.h

来自「一个开源的JAVA虚拟机」· C头文件 代码 · 共 74 行

H
74
字号
#ifndef __JAC_H__#define __JAC_H__#include <jpr/type.h>/*  ReadOnly : 'R'  Writable : '.'  where '.' <: 'R'*/#define JAC_TYP_ReadOnly 'R'#define JAC_TYP_Writable '.'static inlinebooljac_subtype(char s, char t) {  return s == JAC_TYP_Writable || t == JAC_TYP_ReadOnly;}struct jac_commitments {  ju2 class_annotation;  ju2 *constant_annotations;  ju2 *field_annotations;  ju2 *method_annotations;};static inlineju2jac_get_constant_annotation_index(const struct jac_commitments *commitments,				  ju2 i) {  if (commitments == 0 ||      commitments->constant_annotations == 0 ||      commitments->constant_annotations[i] == 0)    return 0;  else    return commitments->constant_annotations[i];}static inlineju2jac_get_field_annotation_index(const struct jac_commitments *commitments,			       ju2 i) {  if (commitments == 0 ||      commitments->field_annotations == 0 ||      commitments->field_annotations[i] == 0)    return 0;  else    return commitments->field_annotations[i];}static inlineju2jac_get_method_annotation_index(const struct jac_commitments *commitments,				ju2 i) {  if (commitments == 0 ||      commitments->method_annotations == 0 ||      commitments->method_annotations[i] == 0)    return 0;  else    return commitments->method_annotations[i];}enum JAC_PRED {  JAC_PRED_debug_commitments,  JAC_PRED_safe_field_import,  JAC_PRED_safe_method_import,  JAC_PRED_safe_method_override};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?