diff options
Diffstat (limited to 'platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java')
-rw-r--r-- | platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java | 63 |
1 files changed, 22 insertions, 41 deletions
diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java index 9411f4d25db1..99c95d8f5ae3 100644 --- a/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java +++ b/platform/script-debugger/protocol/protocol-model-generator/src/org/jetbrains/protocolReader/InputClassScope.java @@ -1,8 +1,9 @@ package org.jetbrains.protocolReader; -import org.jetbrains.jsonProtocol.ProtocolMetaModel; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jsonProtocol.ItemDescriptor.Named; +import org.jetbrains.jsonProtocol.ProtocolMetaModel.ObjectProperty; -import java.io.IOException; import java.util.List; class InputClassScope extends ClassScope { @@ -10,36 +11,20 @@ class InputClassScope extends ClassScope { super(generator, namePath); } - public void generateMainJsonProtocolInterfaceBody(TextOutput out, List<ProtocolMetaModel.Parameter> parameters) throws IOException { - if (parameters != null) { - for (ProtocolMetaModel.Parameter parameter : parameters) { - if (parameter.description() != null) { - out.doc(parameter.description()); - } - - String methodName = Generator.generateMethodNameSubstitute(getName(parameter), out); - QualifiedTypeData paramTypeData = newMemberScope(getName(parameter)).resolveType(parameter); - paramTypeData.writeAnnotations(out); - out.append(paramTypeData.getJavaType().getShortText(getClassContextNamespace())).space().append(methodName).append("();").newLine(); + void generateDeclarationBody(@NotNull TextOutput out, @NotNull List<? extends Named> list) { + for (int i = 0, n = list.size(); i < n; i++) { + Named named = list.get(i); + if (named.description() != null) { + out.doc(named.description()); } - } - } - - void generateStandaloneTypeBody(TextOutput out, List<ProtocolMetaModel.ObjectProperty> properties) throws IOException { - if (properties != null) { - for (ProtocolMetaModel.ObjectProperty objectProperty : properties) { - String propertyName = getName(objectProperty); - if (objectProperty.description() != null) { - out.doc(objectProperty.description()); - } - - String methodName = Generator.generateMethodNameSubstitute(propertyName, out); - MemberScope memberScope = newMemberScope(propertyName); - QualifiedTypeData propertyTypeData = memberScope.resolveType(objectProperty); - propertyTypeData.writeAnnotations(out); - - out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine(); + String name = getName(named); + String declarationName = Generator.generateMethodNameSubstitute(name, out); + TypeDescriptor typeDescriptor = new InputMemberScope(name).resolveType(named); + typeDescriptor.writeAnnotations(out); + out.append(typeDescriptor.getType().getShortText(getClassContextNamespace())).space().append(declarationName).append("();"); + if (i != (n - 1)) { + out.newLine().newLine(); } } } @@ -49,10 +34,6 @@ class InputClassScope extends ClassScope { return TypeData.Direction.INPUT; } - private MemberScope newMemberScope(String memberName) { - return new InputMemberScope(memberName); - } - class InputMemberScope extends MemberScope { InputMemberScope(String memberName) { super(InputClassScope.this, memberName); @@ -72,28 +53,28 @@ class InputClassScope extends ClassScope { } @Override - public BoxableType generateNestedObject(final String description, final List<ProtocolMetaModel.ObjectProperty> propertyList) { + public BoxableType generateNestedObject(final String description, final List<ObjectProperty> propertyList) { final String objectName = Generator.capitalizeFirstChar(getMemberName()); addMember(new TextOutConsumer() { @Override public void append(TextOutput out) { out.newLine().doc(description); if (propertyList == null) { - out.append("@org.chromium.protocolReader.JsonType(allowsOtherProperties=true)").newLine(); + out.append("@org.jetbrains.jsonProtocol.JsonType(allowsOtherProperties=true)").newLine(); out.append("public interface ").append(objectName).append(" extends org.jetbrains.jsonProtocol.JsonObjectBased").openBlock(); } else { - out.append("@org.chromium.protocolReader.JsonType").newLine(); + out.append("@org.jetbrains.jsonProtocol.JsonType").newLine(); out.append("public interface ").append(objectName).openBlock(); - for (ProtocolMetaModel.ObjectProperty property : propertyList) { + for (ObjectProperty property : propertyList) { out.doc(property.description()); String methodName = Generator.generateMethodNameSubstitute(getName(property), out); - MemberScope memberScope = newMemberScope(getName(property)); - QualifiedTypeData propertyTypeData = memberScope.resolveType(property); + MemberScope memberScope = new InputMemberScope(getName(property)); + TypeDescriptor propertyTypeData = memberScope.resolveType(property); propertyTypeData.writeAnnotations(out); - out.append(propertyTypeData.getJavaType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine(); + out.append(propertyTypeData.getType().getShortText(getClassContextNamespace()) + ' ' + methodName + "();").newLine(); } } out.closeBlock(); |