public NameRef(string name, int index, TreeConverter.access_level access_level, semantic_node_type semantic_node_type) { this.name = name; this.index = index;//4 this.access_level = access_level;//1 this.semantic_node_type = semantic_node_type; }
public SymScope CreateInterfaceInClassMember(string name, int offset) { SymScope dn = members[offset] as SymScope; if (dn != null) { return(dn); } int tmp = (int)br.BaseStream.Position; br.BaseStream.Seek(start_pos + offset, SeekOrigin.Begin); semantic_node_type snt = (semantic_node_type)br.ReadByte(); switch (snt) { case semantic_node_type.class_field: dn = CreateInterfaceClassField(name, offset); break; case semantic_node_type.common_property_node: dn = CreateInterfaceProperty(name, offset); break; case semantic_node_type.common_method_node: dn = CreateInterfaceMethod(name, offset); break; //case semantic_node_type.class_constant_definition: // dn = CreateInterfaceClassConstantDefinition(name, offset); break; } br.BaseStream.Seek(tmp, SeekOrigin.Begin); //ProcessWaitedToRestoreFields(); return(dn); }
public SymScope CreateInterfaceMember(int offset, string name) { /*definition_node dn = (definition_node)members[offset]; * if (dn != null) * { * //DarkStar Addes 06/03/07 * PCUWriter.AddExternalMember(dn, offset); * return dn; * }*/ SymScope dn = null; br.BaseStream.Seek(start_pos + offset, SeekOrigin.Begin); semantic_node_type snt = (semantic_node_type)br.ReadByte(); switch (snt) { case semantic_node_type.namespace_variable: dn = CreateInterfaceNamespaceVariable(name, offset); break; case semantic_node_type.common_namespace_function_node: dn = CreateInterfaceNamespaceFunction(name, offset); break; case semantic_node_type.common_type_node: dn = CreateInterfaceCommonType(name, offset); break; case semantic_node_type.namespace_constant_definition: dn = CreateInterfaceConstantDefinition(name, offset); break; /*case semantic_node_type.compiled_type_node: * dn = CreateCompiledTypeNode(offset); break; * //ssyy * case semantic_node_type.template_type: * dn = CreateTemplateClass(offset); break; * //\ssyy * case semantic_node_type.ref_type_node: * dn = CreateRefType(offset); break;*/ } br.BaseStream.Seek(start_pos, SeekOrigin.Begin); //PCUWriter.AddExternalMember(dn,offset);//ñîîáùàåì âðàéòåðó íîâîå ñìåùåíèå ñóùíîñòè //åñëè áóäåò ñåðèàëèçîâûâàòüñÿ ìîäóëü â êîòîðîì èñïîëüçóþòñÿ ñóùíîñòè .pcu, îí äîëæåí çíàòü èõ ñìåùåíèÿ //ProcessWaitedToRestoreFields(); return(dn); }
private object CreateExpression(semantic_node_type snt) { //location loc = ReadDebugInfo(); switch (snt) { /*case semantic_node_type.typeof_operator: * return CreateTypeOfOperator(); * case semantic_node_type.question_colon_expression: * return CreateQuestionColonExpression(); * case semantic_node_type.sizeof_operator: * return CreateSizeOfOperator(); * case semantic_node_type.is_node: * return CreateIsNode(); * case semantic_node_type.as_node: * return CreateAsNode(); * case semantic_node_type.compiled_static_method_call_node_as_constant: * return CreateCompiledStaticMethodCallNodeAsConstant(); * case semantic_node_type.common_namespace_function_call_node_as_constant: * return CreateCommonNamespaceFunctionCallNodeAsConstant(); * case semantic_node_type.compiled_constructor_call_as_constant: * return CreateCompiledConstructorCallAsConstant(); * case semantic_node_type.array_const: * return CreateArrayConst(); * case semantic_node_type.record_const: * return CreateRecordConst();*/ case semantic_node_type.float_const_node: return(CreateFloatConst()); case semantic_node_type.byte_const_node: return(CreateByteConstNode()); case semantic_node_type.int_const_node: return(CreateIntConstNode()); case semantic_node_type.sbyte_const_node: return(CreateSByteConstNode()); case semantic_node_type.short_const_node: return(CreateShortConstNode()); case semantic_node_type.ushort_const_node: return(CreateUShortConstNode()); case semantic_node_type.uint_const_node: return(CreateUIntConstNode()); case semantic_node_type.ulong_const_node: return(CreateULongConstNode()); case semantic_node_type.long_const_node: return(CreateLongConstNode()); case semantic_node_type.double_const_node: return(CreateDoubleConstNode()); case semantic_node_type.char_const_node: return(CreateCharConstNode()); case semantic_node_type.bool_const_node: return(CreateBoolConstNode()); case semantic_node_type.string_const_node: return(CreateStringConstNode()); /*case semantic_node_type.basic_function_call: * return CreateBasicFunctionCall(); * case semantic_node_type.enum_const: * return CreateEnumConstNode();*/ } //throw new Exception("Unknown expression "+snt); return(null); }
private expression_node CreateExpression(semantic_node_type snt) { //location loc = ReadDebugInfo(); switch (snt) { case semantic_node_type.exit_procedure: return CreateExitProcedure(); case semantic_node_type.typeof_operator: return CreateTypeOfOperator(); case semantic_node_type.statement_expression_node: return CreateStatementsExpressionNode(); case semantic_node_type.question_colon_expression: return CreateQuestionColonExpression(); case semantic_node_type.sizeof_operator: return CreateSizeOfOperator(); case semantic_node_type.is_node: return CreateIsNode(); case semantic_node_type.as_node: return CreateAsNode(); case semantic_node_type.compiled_static_method_call_node_as_constant: return CreateCompiledStaticMethodCallNodeAsConstant(); case semantic_node_type.common_namespace_function_call_node_as_constant: return CreateCommonNamespaceFunctionCallNodeAsConstant(); case semantic_node_type.compiled_constructor_call_as_constant: return CreateCompiledConstructorCallAsConstant(); case semantic_node_type.array_const: return CreateArrayConst(); case semantic_node_type.record_const: return CreateRecordConst(); case semantic_node_type.float_const_node: return CreateFloatConst(); case semantic_node_type.byte_const_node: return CreateByteConstNode(); case semantic_node_type.int_const_node: return CreateIntConstNode(); case semantic_node_type.sbyte_const_node: return CreateSByteConstNode(); case semantic_node_type.short_const_node: return CreateShortConstNode(); case semantic_node_type.ushort_const_node: return CreateUShortConstNode(); case semantic_node_type.uint_const_node: return CreateUIntConstNode(); case semantic_node_type.ulong_const_node: return CreateULongConstNode(); case semantic_node_type.long_const_node: return CreateLongConstNode(); case semantic_node_type.double_const_node: return CreateDoubleConstNode(); case semantic_node_type.char_const_node: return CreateCharConstNode(); case semantic_node_type.bool_const_node: return CreateBoolConstNode(); case semantic_node_type.string_const_node: return CreateStringConstNode(); case semantic_node_type.local_variable_reference: return CreateLocalVariableReference(); case semantic_node_type.local_block_variable_reference: return CreateLocalBlockVariableReference(); case semantic_node_type.namespace_variable_reference: return CreateNamespaceVariableReference(); case semantic_node_type.namespace_constant_reference: return CreateNamespaceConstantReference(); case semantic_node_type.function_constant_reference: return CreateFunctionConstantReference(); case semantic_node_type.basic_function_call: return CreateBasicFunctionCall(); case semantic_node_type.common_parameter_reference: return CreateCommonParameterReference(); case semantic_node_type.common_namespace_function_call: return CreateCommonNamespaceFunctionCall(); case semantic_node_type.common_in_function_function_call: return CreateCommonInFuncFuncCall(); case semantic_node_type.compiled_static_method_call: return CreateCompiledStaticMethodCall(); case semantic_node_type.while_break_node: return CreateWhileBreakNode(); case semantic_node_type.while_continue_node: return CreateWhileContinueNode(); case semantic_node_type.for_break_node: return CreateForBreakNode(); case semantic_node_type.for_continue_node: return CreateForContinueNode(); case semantic_node_type.repeat_break_node: return CreateRepeatBreakNode(); case semantic_node_type.repeat_continue_node: return CreateRepeatContinueNode(); case semantic_node_type.compiled_function_call: return CreateCompiledFunctionCall(); case semantic_node_type.compiled_constructor_call: return CreateCompiledConstructorCall(); case semantic_node_type.compiled_variable_reference: return CreateCompiledVariableReference(); case semantic_node_type.static_compiled_variable_reference: return CreateStaticCompiledVariableReference(); case semantic_node_type.simple_array_indexing: return CreateSimpleArrayIndexing(); case semantic_node_type.class_field_reference: return CreateClassFieldReference(); case semantic_node_type.common_constructor_call: return CreateCommonConstructorCall(); case semantic_node_type.common_method_call: return CreateMethodCall(); case semantic_node_type.common_static_method_call: return CreateStaticMethodCall(); case semantic_node_type.non_static_property_reference: return CreateNonStaticPropertyReference(); case semantic_node_type.static_class_field_reference: return CreateStaticClassFieldReference(); case semantic_node_type.this_node: return CreateThisNode(); case semantic_node_type.deref_node: return CreateDerefNode(); case semantic_node_type.get_addr_node: return CreateGetAddrNode(); case semantic_node_type.null_const_node: return CreateNullConstNode(); case semantic_node_type.enum_const: return CreateEnumConstNode(); case semantic_node_type.foreach_break_node: return CreateForeachBreakNode(); case semantic_node_type.foreach_continue_node: return CreateForeachContinueNode(); case semantic_node_type.common_constructor_call_as_constant: return CreateCommonConstructorCallAsConstant(); case semantic_node_type.basic_function_call_node_as_constant: return CreateBasicFunctionCallAsConstant(); case semantic_node_type.array_initializer: return CreateArrayInitializer(); case semantic_node_type.record_initializer: return CreateRecordInitializer(); case semantic_node_type.default_operator: return CreateDefaultOperator(); case semantic_node_type.compiled_static_field_reference_as_constant: return CreateCompiledStaticFieldReferenceAsConstant(); case semantic_node_type.nonstatic_event_reference: return CreateNonStaticEventReference(); case semantic_node_type.static_event_reference: return CreateStaticEventReference(); } throw new Exception("Unknown expression "+snt); }
private object CreateExpression(semantic_node_type snt) { //location loc = ReadDebugInfo(); switch (snt) { /*case semantic_node_type.typeof_operator: return CreateTypeOfOperator(); case semantic_node_type.question_colon_expression: return CreateQuestionColonExpression(); case semantic_node_type.sizeof_operator: return CreateSizeOfOperator(); case semantic_node_type.is_node: return CreateIsNode(); case semantic_node_type.as_node: return CreateAsNode(); case semantic_node_type.compiled_static_method_call_node_as_constant: return CreateCompiledStaticMethodCallNodeAsConstant(); case semantic_node_type.common_namespace_function_call_node_as_constant: return CreateCommonNamespaceFunctionCallNodeAsConstant(); case semantic_node_type.compiled_constructor_call_as_constant: return CreateCompiledConstructorCallAsConstant(); case semantic_node_type.array_const: return CreateArrayConst(); case semantic_node_type.record_const: return CreateRecordConst();*/ case semantic_node_type.float_const_node: return CreateFloatConst(); case semantic_node_type.byte_const_node: return CreateByteConstNode(); case semantic_node_type.int_const_node: return CreateIntConstNode(); case semantic_node_type.sbyte_const_node: return CreateSByteConstNode(); case semantic_node_type.short_const_node: return CreateShortConstNode(); case semantic_node_type.ushort_const_node: return CreateUShortConstNode(); case semantic_node_type.uint_const_node: return CreateUIntConstNode(); case semantic_node_type.ulong_const_node: return CreateULongConstNode(); case semantic_node_type.long_const_node: return CreateLongConstNode(); case semantic_node_type.double_const_node: return CreateDoubleConstNode(); case semantic_node_type.char_const_node: return CreateCharConstNode(); case semantic_node_type.bool_const_node: return CreateBoolConstNode(); case semantic_node_type.string_const_node: return CreateStringConstNode(); /*case semantic_node_type.basic_function_call: return CreateBasicFunctionCall(); case semantic_node_type.enum_const: return CreateEnumConstNode();*/ } //throw new Exception("Unknown expression "+snt); return null; }