diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java index 0f894a055f9..f3a90417b06 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java @@ -52,7 +52,7 @@ public abstract class AnnotationCodegen { if(!valueArguments.isEmpty()) { // todo: temporary hack for intrinsics in stdlib - if(valueArguments.size()==1 && "intrinsic".equals(annotationDescriptor.getType().getConstructor().getDeclarationDescriptor().getName())) { + if(valueArguments.size()==1 && "Intrinsic".equals(annotationDescriptor.getType().getConstructor().getDeclarationDescriptor().getName())) { annotationVisitor.visit("value", valueArguments.get(0).getValue()); } else diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java index ea570d1db3d..5f1d46588b6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java @@ -44,7 +44,7 @@ public class BinaryOp implements IntrinsicMethod { expectedType = JetTypeMapper.unboxType(expectedType); } if (arguments.size() == 1) { - // intrinsic is called as an ordinary function + // Intrinsic is called as an ordinary function if (receiver != null) { receiver.put(expectedType, v); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java index 809921d2674..648f73a6d91 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java @@ -244,7 +244,7 @@ public class IntrinsicMethods { List annotations = descriptor.getAnnotations(); if (annotations != null) { for (AnnotationDescriptor annotation : annotations) { - if("intrinsic".equals(annotation.getType().getConstructor().getDeclarationDescriptor().getName())) { + if("Intrinsic".equals(annotation.getType().getConstructor().getDeclarationDescriptor().getName())) { intrinsicMethod = namedMethods.get(annotation.getValueArguments().get(0).getValue()); } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index b8661426571..60098bb4e2f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -1315,13 +1315,6 @@ public class JavaDescriptorResolver { @Nullable private FunctionDescriptorImpl resolveMethodToFunctionDescriptor(ClassOrNamespaceDescriptor owner, final PsiClass psiClass, TypeSubstitutor typeSubstitutorForGenericSuperclasses, final PsiMethodWrapper method) { - PsiAnnotation[] applicableAnnotations = method.getPsiMethod().getModifierList().getAnnotations(); - for (PsiAnnotation applicableAnnotation : applicableAnnotations) { - if("jet.runtime.intrinsic".equals(applicableAnnotation.getQualifiedName())) { - PsiAnnotationMemberValue value = applicableAnnotation.findAttributeValue("value"); - } - } - PsiType returnType = method.getReturnType(); if (returnType == null) { return null; diff --git a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java index 172d8768821..0811c340481 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java +++ b/idea/src/org/jetbrains/jet/plugin/references/JetPsiReference.java @@ -100,7 +100,7 @@ public abstract class JetPsiReference implements PsiPolyVariantReference { Collection declarationDescriptors = bindingContext.get(AMBIGUOUS_REFERENCE_TARGET, myExpression); if (declarationDescriptors != null) return null; - // TODO: Need a better resolution for intrinsic function (KT-975) + // TODO: Need a better resolution for Intrinsic function (KT-975) return file; } @@ -115,7 +115,7 @@ public abstract class JetPsiReference implements PsiPolyVariantReference { for (DeclarationDescriptor descriptor : declarationDescriptors) { PsiElement element = bindingContext.get(DESCRIPTOR_TO_DECLARATION, descriptor); if (element == null) { - // TODO: Need a better resolution for intrinsic function (KT-975) + // TODO: Need a better resolution for Intrinsic function (KT-975) element = file; } diff --git a/stdlib/ktSrc/JavaLang.kt b/stdlib/ktSrc/JavaLang.kt index 6e237d57f32..c9f7392ec61 100644 --- a/stdlib/ktSrc/JavaLang.kt +++ b/stdlib/ktSrc/JavaLang.kt @@ -3,9 +3,9 @@ package std import java.lang.Class import java.lang.Object -import jet.runtime.intrinsic +import jet.runtime.Intrinsic val T.javaClass : Class - [intrinsic("std.javaClass.property")] get() = (this as java.lang.Object).getClass() as Class + [Intrinsic("std.javaClass.property")] get() = (this as java.lang.Object).getClass() as Class -[intrinsic("std.javaClass.function")] fun javaClass() : Class = null as Class +[Intrinsic("std.javaClass.function")] fun javaClass() : Class = null as Class diff --git a/stdlib/src/jet/runtime/Intrinsic.java b/stdlib/src/jet/runtime/Intrinsic.java index ee50cbc9d8b..43747b7e265 100644 --- a/stdlib/src/jet/runtime/Intrinsic.java +++ b/stdlib/src/jet/runtime/Intrinsic.java @@ -26,6 +26,6 @@ import java.lang.annotation.Target; */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) -public @interface intrinsic { +public @interface Intrinsic { String value(); }